|
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 |
|