examples/ip_pipeline: add core mappings script
This script parses the application configuration file and detects all the
pipelines specified therein, and then, it generates all the possible mappings
of those pipelines on the specified CPU core-list.
As a result, each of the possible pipeline-to-core mappings is saved as
separate output configuration file. For example- if input file is
edge_router_downstream.cfg with 3 pipeline (excluding pipeline 0) and
core-list is “1, 2”, following combinations will be generated-
Pipeline 1 Pipeline 2 Pipeline 3
Core = 1 Core = 1 Core = 2
Core = 1 Core = 2 Core = 1
Core = 2 Core = 1 Core = 1
Core = 2 Core = 2 Core = 1
Core = 2 Core = 1 Core = 2
Core = 1 Core = 2 Core = 2
Core = C1 Core = C1H Core = C2
Core = C1 Core = C2 Core = C1H
Core = C2 Core = C1 Core = C1H
This script will help users to analyse the performance of application by
evaluating all the generated configuration files with different
pipelines-to-core mappings and obtaining the application configuration file
with best performance.
To run the script, issue the following command;
./pipeline-to-core-mapping.py -i <input_configuration_file> -pc "s<socket-id>c<core-id>"
Some optional arguments are as follows:
-h, --help show this help message and exit
-ht {ON,OFF}, --hyper-thread {ON,OFF}
enable/disable hyper threading. default is ON
-nO, --no-output-file
disable output config file generation. Output file
generation is enabled by default
Signed-off-by: Guruprasad Mukundarao <guruprasadx.rao@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>