... | ... | @@ -26,6 +26,14 @@ If you use only the 4 basic calls, those are the rules: |
|
|
* Call `LIKWID_MARKER_CLOSE` only once in your application. Recommendation is the end of the `main` routine of your code. There is **NO** guard if you call it multiple times and will overwrite the output file, skewing up results if you measure between two calls to `LIKWID_MARKER_CLOSE`, so don't do it.
|
|
|
* `LIKWID_MARKER_START(str)` and `LIKWID_MARKER_STOP(str)` should be called once per application thread. There is some logic inside if it is called not by all application threads, but there might be problems.
|
|
|
|
|
|
* [[My code region is quite short|my-code-region-is-quite-short]]
|
|
|
* [[The measured times for multiple threads vary although all perform the same operation|the-measured-times-for-multiple-threads-vary-although-all-perform-the-same-operation]]
|
|
|
* [[What about `LIKWID_MARKER_THREADINIT`?|what-about-likwid_marker_threadinit]]
|
|
|
* [[How to use `LIKWID_MARKER_SWITCH`?|how-to-use-likwid_marker_switch]]
|
|
|
* [[How to get the measured values in my application?|how-to-get-the-measured-values-in-my-application]]
|
|
|
* [[Resetting the results of a region|resetting-the-results-of-a-region]]
|
|
|
* [[LIKWID measures FP operations with MarkerAPI for non-FP code|likwid-measures-fp-operations-with-markerapi-for-non-fp-code]]
|
|
|
|
|
|
# My code region is quite short
|
|
|
|
|
|
It is simple to put instrumentation calls inside your application, but always remember, they have overhead which (in most cases) does not come from LIKWID directly but the system calls to access the hardware counters. Independent of the `ACCESSMODE` you selected at `config.mk`, system calls are executed. Of course, if you use more events, the overhead is getting larger.
|
... | ... | |