Marker API (GPU)
Note: This is a maturing feature. Only NVIDIA GPUs are supported.
Index
LIKWID.GPUMarker.closeLIKWID.GPUMarker.getregionLIKWID.GPUMarker.gpumarkerLIKWID.GPUMarker.initLIKWID.GPUMarker.isactiveLIKWID.GPUMarker.nextgroupLIKWID.GPUMarker.registerregionLIKWID.GPUMarker.resetregionLIKWID.GPUMarker.startregionLIKWID.GPUMarker.stopregionLIKWID.GPUMarker.@gpumarker
API
LIKWID.GPUMarker.close — MethodClose the connection to the LIKWID GPU Marker API and write out measurement data to file. This file will be evaluated by likwid-perfctr.
LIKWID.GPUMarker.getregion — Methodgetregion(regiontag::AbstractString) -> nevents, events, time, countGet 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.
LIKWID.GPUMarker.gpumarker — Methodgpumarker(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()
LIKWID.GPUMarker.init — MethodInitialize the NvMon Marker API of the LIKWID library. Must be called previous to all other functions.
LIKWID.GPUMarker.isactive — MethodChecks whether the NVIDIA GPU Marker API is active, i.e. julia has been started under likwid-perfctr -G ... -W ... -m.
LIKWID.GPUMarker.nextgroup — MethodSwitch 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.
LIKWID.GPUMarker.registerregion — MethodRegister 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.
LIKWID.GPUMarker.resetregion — MethodReset the values stored using the region name regiontag. On success, true is returned.
LIKWID.GPUMarker.startregion — MethodStart measurements under the name regiontag. On success, true is returned.
LIKWID.GPUMarker.stopregion — MethodStop measurements under the name regiontag. On success, true is returned.
LIKWID.GPUMarker.@gpumarker — MacroConvenience macro for flanking code with GPUMarker.startregion and GPUMarker.stopregion.
Examples
julia> using LIKWID, CUDA
julia> GPUMarker.init()
julia> @gpumarker "sleeping..." sleep(1)
true
julia> @gpumarker "create rand vec" CUDA.rand(100)
true
julia> GPUMarker.close()