| |
cTuning space (reproducibility and graphs)
|
| Save pipeline input and output in cTuning space |
|
Exploration pipeline
|
| Init pipeline |
|
| Detected system information |
| Turn on this pipeline section |
|
| Input |
|
|
|
| Initialize parameters |
| Output |
| Program |
Add new object |
| Dataset name |
|
| Dataset UID |
|
| Program name |
|
| Program UID |
|
|
|
|
|
| Prepare dataset |
| Turn on this pipeline section |
|
| Input |
|
|
|
| Clean program |
| Turn on this pipeline section |
|
| Input |
|
|
|
| Use likwid for hardware counters |
| Turn on this pipeline section |
|
| Input |
| Likwid installation |
Add new object |
| Use kernel/codelet instrumentation |
|
| Use sudo |
|
| Processor pinning (0; 0-1; 1,2-3,4; etc) |
|
| Measure performance group (DATA, ENERGY, FLOPS_DP, L2, L2CACHE, MEM, TLB, BRANCH, etc) |
|
| Measure using event set (INSTR_RETIRED_ANY:FIXC0,CPU_CLK_UNHALTED_CORE:FIXC1) |
|
|
|
|
|
| Source to source polyhedral transformation (by PLUTO) |
| Turn on this pipeline section |
|
| Input |
|
|
|
| Prepare compiler flags |
| Turn on this pipeline section |
|
| Input |
|
| Output |
|
|
|
| Use compiler profiling |
| Turn on this pipeline section |
|
|
|
| Use cTuning CC/MILEPOST GCC for fine-grain program analysis and tuning |
| Turn on this pipeline section |
|
| Input |
|
|
|
| Use universal Alchemist plugin (with any OpenME-compatible compiler or tool) |
| Turn on this pipeline section |
|
| Input |
|
|
|
| Use Alchemist plugin (currently for GCC) |
| Turn on this pipeline section |
|
| Input |
|
|
|
| Build program |
| Turn on this pipeline section |
|
| Input |
|
| Output |
|
|
|
| Get objdump and md5sum (if supported) |
| Turn on this pipeline section |
|
| Input |
|
| Output |
|
|
|
| Use OpenME for fine-grain program analysis and online tuning (build & run) |
| Turn on this pipeline section |
|
| Input |
|
|
|
| Use 'Intel VTune Amplifier' to collect hardware counters |
| Turn on this pipeline section |
|
| Input |
|
|
|
| Use 'perf' to collect hardware counters |
| Turn on this pipeline section |
|
| Input |
| Installed perf supports output to file? |
|
|
|
|
|
| Set frequency (in Unix, if supported) |
| Turn on this pipeline section |
|
| Input |
| Use sudo |
|
| Frequency (Hz) |
|
| Frequency string (Hz) |
|
|
|
|
|
| Get system state before execution |
| Turn on this pipeline section |
|
| Output |
|
|
|
| Run program |
| Turn on this pipeline section |
|
| Input |
|
| Output |
| Benchmark score |
|
| Number of kernel repetitions (if supported) |
|
| Program execution time (with module overhead) (sec.) |
|
| Program execution time normalized (with module overhead) (sec.) |
|
| Run exit code |
|
|
|
|
|
| Check output for correctness (use dataset UID to save different outputs) |
| Turn on this pipeline section |
|
| Input |
|
| Output |
|
|
|
| Finish OpenME |
| Output |
| Kernel execution time in seconds |
|
|
|
|
|
| Misc info |
| User |
|
| Date/time started |
|
| Date/time finished |
|
| Dissemination of results |
| Publications |
| 0
|
Add new object |
| 1
|
Add new object |
| 2
|
Add new object |
|
|
|
|
|
|
| Observed characteristics |
| Program execution CPI |
|
| Program execution instructions retired |
|
|
|
| Observed statistical characteristics |
| Run program |
| Output |
| Program execution time (with module overhead) (sec.) |
|
| Program execution time normalized (with module overhead) (sec.) |
|
|
|
|
|
| Build program |
| Output |
| Program compilation time (with module overhead) (sec.) |
|
|
|
|
|
|
|
| Finalize pipeline |
|
| |
Debug/Developer mode
|
| Show input json (without running pipeline to prepare for off-line tuning) |
|
| Save input json to file (for reproducibility/off-line tuning) - pipeline will not run! |
|
| Show output json |
|
| Save output json to file |
|
| Keep all produced files |
|