CUPTI

Public

Private

CUPTI.ActivityConfigType
cfg = CUPTI.ActivityConfig(activity_kinds)

CUPTI.enable!(cfg) do
    # do stuff
end

CUPTI.process(cfg) do ctx, stream_id, record
    # inspect record
end

High-level interface to the CUPTI activity API.

source
CUPTI.CallbackConfigType
cfg = CUPTI.CallbackConfig(callback_kinds) do domain, id, data
    # inspect data
end

CUPTI.enable!(cfg) do
    # do stuff
end
source
CUPTI.can_profileMethod
can_profile() -> Bool

Whether CUDA.jl should attempt to use CUPTI in the current process.

On Tegra, CUDA 10 through 12 require root, while CUDA 13 and later require read/write access to a profiling device node. This check is intentionally conservative because some CUPTI versions crash in cuptiSubscribe when that access is missing. On other systems, CUPTI reports permission errors normally, so this function returns true and lets CUPTI handle them.

source
CUPTI.@enable!Macro
@enable! cfg expr

Macro version of enable!(f, cfg) that avoids creating a closure, similar to @lock vs lock(f, l).

source