Data
All tools of DiscoPoP exchange their data through one directory, .discopop. The instrumented program and the tools create it in the project directory, or at the path in the environment variable DOT_DISCOPOP (see Environment variables). The pages of this section describe the files in it.
.discopop/
├── FileMapping.txt file ids -> source file paths
├── line_mapping.json line shifts caused by applied patches
├── next_free_pattern_id.txt next free pattern id (written by the explorer)
├── profiler/ output of the instrumentation and the profiling run
├── explorer/ output of the explorer
├── patch_generator/<id>/ one directory per suggestion, with its patches
├── patch_applicator/ state of the applied patches
├── hotspot_detection/ hotspot results (optional, read by the explorer)
├── auto_tuner/ results of the empirical autotuner
└── project/ configurations and results of the project manager
| Path | Content | Described in |
|---|---|---|
profiler/ | Data.xml, dependencies, loop counters, callpath states, reductions and further files, written by the compiler pass and the runtime library | Profiling and instrumentation output |
FileMapping.txt, line_mapping.json | file ids and line numbers | File mapping |
explorer/ | patterns.json, pattern_decisions.json, detection_result_dump.json, side_effects.json.gz | Explorer output |
patch_generator/, patch_applicator/ | patches and the list of applied patches | Explorer output, Patch generator, Patch applicator |
hotspot_detection/ | hotspots | Hotspot detection |
auto_tuner/ | results of the autotuner | Empirical autotuner |
project/ | configurations, scripts and execution results | Project manager |
The explorer builds the program execution graph from the profiler output and reports parallel patterns.
All tools run from inside .discopop or take its path as an argument (--path, --dot-dp-path).