... | @@ -53,11 +53,13 @@ Per default the LIKWID library is build as a shared library. You need the librar |
... | @@ -53,11 +53,13 @@ Per default the LIKWID library is build as a shared library. You need the librar |
|
[[likwid-bench|likwid-bench]] is instrumented for use with [[likwid-perfctr|likwid-perfctr]]. This allows you to measure various metrics of your [[likwid-bench|likwid-bench]] kernels. Enable instrumentation by setting `INSTRUMENT_BENCH` to `true` in `config.mk`.
|
|
[[likwid-bench|likwid-bench]] is instrumented for use with [[likwid-perfctr|likwid-perfctr]]. This allows you to measure various metrics of your [[likwid-bench|likwid-bench]] kernels. Enable instrumentation by setting `INSTRUMENT_BENCH` to `true` in `config.mk`.
|
|
|
|
|
|
## Build LIKWID with perf_event backend instead of native access
|
|
## Build LIKWID with perf_event backend instead of native access
|
|
LIKWID can be built to run on top of `perf_event` (`config.mk`: `USE_PERF_EVENT` in 4.2 and ACCESSMODE=perf_event in 4.3), an interface of the Linux kernel to the hardware performance monitors. The events and counters are the same but not all might be supported. The thermal module is currently not supported with perf_event, most Uncore monitors are experimental if they are provided by perf
|
|
LIKWID can be built to run on top of `perf_event` (`config.mk`: `USE_PERF_EVENT` in 4.2 and `ACCESSMODE=perf_event` in 4.3), an interface of the Linux kernel to the hardware performance monitors. The events and counters are the same but not all might be supported. LIKWID supports the Uncore and RAPL (energy) units provided by perf. The thermal module is currently not supported with perf_event as perf_event does not provide thermal information.
|
|
For core-local measurements the paranoid level of 1 is enough to measure applications. To get the same behavior as native access, the paranoid level must be 0 or less. 0 or less is also required for Uncore measurements.
|
|
For core-local measurements the paranoid level of 1 is enough to measure applications. To get the same behavior as native access, the paranoid level must be 0 or less. 0 or less is also required for Uncore measurements.
|
|
|
|
|
|
Be aware that LIKWID reads information out of registers that is not provided by any other source like procfs and sysfs. When switching to perf_event backend, these registers cannot be accessed and less information is printed. An example for this are the different CPU core frequencies in turbo mode (`likwid-powermeter -i`). If you want to use perf_event for measurements and the access daemon for other operations, install LIKWID first with `ACCESSMODE=accessdaemon` and followed by `make distclean`, change `ACCESSMODE=perf_event` in `config.mk` and then build and install LIKWID again.
|
|
Be aware that LIKWID reads information out of registers that is not provided by any other source like procfs and sysfs. When switching to perf_event backend, these registers cannot be accessed and less information is printed. An example for this are the different CPU core frequencies in turbo mode (`likwid-powermeter -i`). If you want to use perf_event for measurements and the access daemon for other operations, install LIKWID first with `ACCESSMODE=accessdaemon` and followed by `make distclean`, change `ACCESSMODE=perf_event` in `config.mk` and then build and install LIKWID again.
|
|
|
|
|
|
|
|
If you have no root permissions for `make install`, please set `BUILDFREQ=false` in config.mk. The build of the access daemon is disabled when `ACCESSMODE=perf_event`. If you encounter problems, you can manually disable it by setting `BUILDDAEMON=false` in config.mk
|
|
|
|
|
|
## Enabling Fortran interface for Marker API
|
|
## Enabling Fortran interface for Marker API
|
|
|
|
|
|
If you want to use the Marker API in Fortran programs, LIKWID offers a native Fortran90 interface. To enable it, set `FORTRAN_INTERFACE` to `true` in `config.mk`. More information using LIKWID with Fortran look at [[Marker API with Fortran90|TutorialMarkerF90]].
|
|
If you want to use the Marker API in Fortran programs, LIKWID offers a native Fortran90 interface. To enable it, set `FORTRAN_INTERFACE` to `true` in `config.mk`. More information using LIKWID with Fortran look at [[Marker API with Fortran90|TutorialMarkerF90]].
|
... | | ... | |