Profiling DAPHNE Using PAPI
You can profile your DaphneDSL script by using the --enable-profiling
CLI
switch.
Note that profiling is only available if DAPHNE was built without the --no-papi
flag.
DAPHNE supports profiling via the PAPI profiling library, specifically the high-level (HL) PAPI API.
When run with profiling enabled, the DAPHNE compiler will generate code that automatically starts and stops profiling (via PAPI) at the start and end of the DaphneDSL script.
You can configure which events to profile via the PAPI_EVENTS
environment variable, e.g.:
$ PAPI_EVENTS="perf::CYCLES,perf::INSTRUCTIONS,perf::CACHE-REFERENCES,perf::CACHE MISSES,perf::BRANCHES,perf::BRANCH-MI SSES" PAPI_REPORT=1 bin/daphne --enable-profiling script.daph
For more details about the supported events as well as other PAPI-HL configuration
options you can read the
PAPI HL API documentation.
You can also get a list of the supported events on your machine via the
papi_native_avail
PAPI utility (included in the papi-tools
package
on Debian-based systems).