Marker API (GPU)

Note: This is a maturing feature. Only NVIDIA GPUs are supported.

Index

API

LIKWID.GPUMarker.close — Method

Close the connection to the LIKWID GPU Marker API and write out measurement data to file. This file will be evaluated by likwid-perfctr.

source
LIKWID.GPUMarker.getregion — Method
getregion(regiontag::AbstractString) -> nevents, events, time, count

Get the intermediate results of the region identified by regiontag. On success, it returns * nevents: the number of events in the current group, * events: a list with all the aggregated event results, * time: the measurement time for the region and * count: the number of calls.

source
LIKWID.GPUMarker.gpumarker — Method
gpumarker(f, regiontag::AbstractString)

Adds a LIKWID GPU marker region around the execution of the given function f using GPUMarker.startregion, GPUMarker.stopregion under the hood. Note that LIKWID.GPUMarker.init() and LIKWID.GPUMarker.close() must be called before and after, respectively.

Examples

julia> using LIKWID, CUDA

julia> GPUMarker.init()

julia> gpumarker("sleeping...") do
           sleep(1)
       end
true

julia> gpumarker(()->CUDA.rand(100), "create rand vec")
true

julia> GPUMarker.close()
source
LIKWID.GPUMarker.init — Method

Initialize the NvMon Marker API of the LIKWID library. Must be called previous to all other functions.

source
LIKWID.GPUMarker.isactive — Method

Checks whether the NVIDIA GPU Marker API is active, i.e. julia has been started under likwid-perfctr -G ... -W ... -m.

source
LIKWID.GPUMarker.nextgroup — Method

Switch to the next event set in a round-robin fashion. If you have set only one event set on the command line, this function performs no operation.

source
LIKWID.GPUMarker.registerregion — Method

Register a region with name regiontag to the GPU Marker API. On success, true is returned.

This is an optional function to reduce the overhead of region registration at Marker.startregion. If you don't call registerregion, the registration is done at startregion.

source