| // Auto-generated, do not edit. |
| |
| extern "C" { |
| CUptiResult CUPTIAPI cuptiGetResultString(CUptiResult result, |
| const char **str) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUptiResult, const char **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetResultString"); |
| if (!func_ptr) { |
| if (str) { |
| *str = "CUPTI could not be loaded or symbol could not be found."; |
| } |
| return GetSymbolNotFoundError(); |
| } |
| return func_ptr(result, str); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetVersion(uint32_t *version) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetVersion"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(version); |
| } |
| |
| CUptiResult CUPTIAPI cuptiSupportedDomains(size_t *domainCount, |
| CUpti_DomainTable *domainTable) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(size_t *, CUpti_DomainTable *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiSupportedDomains"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(domainCount, domainTable); |
| } |
| |
| CUptiResult CUPTIAPI cuptiSubscribe(CUpti_SubscriberHandle *subscriber, |
| CUpti_CallbackFunc callback, |
| void *userdata) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_SubscriberHandle *, |
| CUpti_CallbackFunc, void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiSubscribe"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(subscriber, callback, userdata); |
| } |
| |
| CUptiResult CUPTIAPI cuptiUnsubscribe(CUpti_SubscriberHandle subscriber) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_SubscriberHandle); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiUnsubscribe"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(subscriber); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetCallbackState(uint32_t *enable, |
| CUpti_SubscriberHandle subscriber, |
| CUpti_CallbackDomain domain, |
| CUpti_CallbackId cbid) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(uint32_t *, CUpti_SubscriberHandle, |
| CUpti_CallbackDomain, CUpti_CallbackId); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetCallbackState"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(enable, subscriber, domain, cbid); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEnableCallback(uint32_t enable, |
| CUpti_SubscriberHandle subscriber, |
| CUpti_CallbackDomain domain, |
| CUpti_CallbackId cbid) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)( |
| uint32_t, CUpti_SubscriberHandle, CUpti_CallbackDomain, CUpti_CallbackId); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEnableCallback"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(enable, subscriber, domain, cbid); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEnableDomain(uint32_t enable, |
| CUpti_SubscriberHandle subscriber, |
| CUpti_CallbackDomain domain) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(uint32_t, CUpti_SubscriberHandle, |
| CUpti_CallbackDomain); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEnableDomain"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(enable, subscriber, domain); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEnableAllDomains(uint32_t enable, |
| CUpti_SubscriberHandle subscriber) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(uint32_t, CUpti_SubscriberHandle); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEnableAllDomains"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(enable, subscriber); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetCallbackName(CUpti_CallbackDomain domain, |
| uint32_t cbid, const char **name) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUpti_CallbackDomain, uint32_t, const char **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetCallbackName"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(domain, cbid, name); |
| } |
| |
| CUptiResult CUPTIAPI |
| cuptiSetEventCollectionMode(CUcontext context, CUpti_EventCollectionMode mode) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, CUpti_EventCollectionMode); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiSetEventCollectionMode"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, mode); |
| } |
| |
| CUptiResult CUPTIAPI cuptiDeviceGetAttribute(CUdevice device, |
| CUpti_DeviceAttribute attrib, |
| size_t *valueSize, void *value) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUdevice, CUpti_DeviceAttribute, |
| size_t *, void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiDeviceGetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(device, attrib, valueSize, value); |
| } |
| |
| CUptiResult CUPTIAPI cuptiDeviceGetTimestamp(CUcontext context, |
| uint64_t *timestamp) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, uint64_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiDeviceGetTimestamp"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, timestamp); |
| } |
| |
| CUptiResult CUPTIAPI cuptiDeviceGetNumEventDomains(CUdevice device, |
| uint32_t *numDomains) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUdevice, uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiDeviceGetNumEventDomains"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(device, numDomains); |
| } |
| |
| CUptiResult CUPTIAPI cuptiDeviceEnumEventDomains( |
| CUdevice device, size_t *arraySizeBytes, CUpti_EventDomainID *domainArray) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUdevice, size_t *, CUpti_EventDomainID *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiDeviceEnumEventDomains"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(device, arraySizeBytes, domainArray); |
| } |
| |
| CUptiResult CUPTIAPI cuptiDeviceGetEventDomainAttribute( |
| CUdevice device, CUpti_EventDomainID eventDomain, |
| CUpti_EventDomainAttribute attrib, size_t *valueSize, void *value) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUdevice, CUpti_EventDomainID, |
| CUpti_EventDomainAttribute, size_t *, void *); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuptiDeviceGetEventDomainAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(device, eventDomain, attrib, valueSize, value); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetNumEventDomains(uint32_t *numDomains) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetNumEventDomains"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(numDomains); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEnumEventDomains(size_t *arraySizeBytes, |
| CUpti_EventDomainID *domainArray) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(size_t *, CUpti_EventDomainID *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEnumEventDomains"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(arraySizeBytes, domainArray); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventDomainGetAttribute( |
| CUpti_EventDomainID eventDomain, CUpti_EventDomainAttribute attrib, |
| size_t *valueSize, void *value) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)( |
| CUpti_EventDomainID, CUpti_EventDomainAttribute, size_t *, void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventDomainGetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventDomain, attrib, valueSize, value); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventDomainGetNumEvents( |
| CUpti_EventDomainID eventDomain, uint32_t *numEvents) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventDomainID, uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventDomainGetNumEvents"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventDomain, numEvents); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventDomainEnumEvents(CUpti_EventDomainID eventDomain, |
| size_t *arraySizeBytes, |
| CUpti_EventID *eventArray) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUpti_EventDomainID, size_t *, CUpti_EventID *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventDomainEnumEvents"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventDomain, arraySizeBytes, eventArray); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGetAttribute(CUpti_EventID event, |
| CUpti_EventAttribute attrib, |
| size_t *valueSize, void *value) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventID, CUpti_EventAttribute, |
| size_t *, void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(event, attrib, valueSize, value); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGetIdFromName(CUdevice device, |
| const char *eventName, |
| CUpti_EventID *event) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUdevice, const char *, CUpti_EventID *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGetIdFromName"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(device, eventName, event); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGroupCreate(CUcontext context, |
| CUpti_EventGroup *eventGroup, |
| uint32_t flags) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUcontext, CUpti_EventGroup *, uint32_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupCreate"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, eventGroup, flags); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGroupDestroy(CUpti_EventGroup eventGroup) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventGroup); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupDestroy"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroup); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGroupGetAttribute( |
| CUpti_EventGroup eventGroup, CUpti_EventGroupAttribute attrib, |
| size_t *valueSize, void *value) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)( |
| CUpti_EventGroup, CUpti_EventGroupAttribute, size_t *, void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupGetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroup, attrib, valueSize, value); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGroupSetAttribute( |
| CUpti_EventGroup eventGroup, CUpti_EventGroupAttribute attrib, |
| size_t valueSize, void *value) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)( |
| CUpti_EventGroup, CUpti_EventGroupAttribute, size_t, void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupSetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroup, attrib, valueSize, value); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGroupAddEvent(CUpti_EventGroup eventGroup, |
| CUpti_EventID event) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventGroup, CUpti_EventID); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupAddEvent"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroup, event); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGroupRemoveEvent(CUpti_EventGroup eventGroup, |
| CUpti_EventID event) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventGroup, CUpti_EventID); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupRemoveEvent"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroup, event); |
| } |
| |
| CUptiResult CUPTIAPI |
| cuptiEventGroupRemoveAllEvents(CUpti_EventGroup eventGroup) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventGroup); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupRemoveAllEvents"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroup); |
| } |
| |
| CUptiResult CUPTIAPI |
| cuptiEventGroupResetAllEvents(CUpti_EventGroup eventGroup) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventGroup); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupResetAllEvents"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroup); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGroupEnable(CUpti_EventGroup eventGroup) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventGroup); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupEnable"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroup); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGroupDisable(CUpti_EventGroup eventGroup) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventGroup); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupDisable"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroup); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGroupReadEvent(CUpti_EventGroup eventGroup, |
| CUpti_ReadEventFlags flags, |
| CUpti_EventID event, |
| size_t *eventValueBufferSizeBytes, |
| uint64_t *eventValueBuffer) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUpti_EventGroup, CUpti_ReadEventFlags, |
| CUpti_EventID, size_t *, uint64_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupReadEvent"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroup, flags, event, eventValueBufferSizeBytes, |
| eventValueBuffer); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGroupReadAllEvents( |
| CUpti_EventGroup eventGroup, CUpti_ReadEventFlags flags, |
| size_t *eventValueBufferSizeBytes, uint64_t *eventValueBuffer, |
| size_t *eventIdArraySizeBytes, CUpti_EventID *eventIdArray, |
| size_t *numEventIdsRead) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUpti_EventGroup, CUpti_ReadEventFlags, size_t *, |
| uint64_t *, size_t *, CUpti_EventID *, size_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupReadAllEvents"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroup, flags, eventValueBufferSizeBytes, |
| eventValueBuffer, eventIdArraySizeBytes, eventIdArray, |
| numEventIdsRead); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEventGroupSetsCreate( |
| CUcontext context, size_t eventIdArraySizeBytes, |
| CUpti_EventID *eventIdArray, CUpti_EventGroupSets **eventGroupPasses) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, size_t, CUpti_EventID *, |
| CUpti_EventGroupSets **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupSetsCreate"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, eventIdArraySizeBytes, eventIdArray, |
| eventGroupPasses); |
| } |
| |
| CUptiResult CUPTIAPI |
| cuptiEventGroupSetsDestroy(CUpti_EventGroupSets *eventGroupSets) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventGroupSets *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupSetsDestroy"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroupSets); |
| } |
| |
| CUptiResult CUPTIAPI |
| cuptiEventGroupSetEnable(CUpti_EventGroupSet *eventGroupSet) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventGroupSet *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupSetEnable"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroupSet); |
| } |
| |
| CUptiResult CUPTIAPI |
| cuptiEventGroupSetDisable(CUpti_EventGroupSet *eventGroupSet) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_EventGroupSet *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEventGroupSetDisable"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(eventGroupSet); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEnableKernelReplayMode(CUcontext context) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEnableKernelReplayMode"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context); |
| } |
| |
| CUptiResult CUPTIAPI cuptiDisableKernelReplayMode(CUcontext context) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiDisableKernelReplayMode"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context); |
| } |
| |
| CUptiResult CUPTIAPI cuptiKernelReplaySubscribeUpdate( |
| CUpti_KernelReplayUpdateFunc updateFunc, void *customData) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_KernelReplayUpdateFunc, void *); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuptiKernelReplaySubscribeUpdate"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(updateFunc, customData); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetNumMetrics(uint32_t *numMetrics) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetNumMetrics"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(numMetrics); |
| } |
| |
| CUptiResult CUPTIAPI cuptiEnumMetrics(size_t *arraySizeBytes, |
| CUpti_MetricID *metricArray) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(size_t *, CUpti_MetricID *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiEnumMetrics"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(arraySizeBytes, metricArray); |
| } |
| |
| CUptiResult CUPTIAPI cuptiDeviceGetNumMetrics(CUdevice device, |
| uint32_t *numMetrics) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUdevice, uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiDeviceGetNumMetrics"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(device, numMetrics); |
| } |
| |
| CUptiResult CUPTIAPI cuptiDeviceEnumMetrics(CUdevice device, |
| size_t *arraySizeBytes, |
| CUpti_MetricID *metricArray) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUdevice, size_t *, CUpti_MetricID *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiDeviceEnumMetrics"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(device, arraySizeBytes, metricArray); |
| } |
| |
| CUptiResult CUPTIAPI cuptiMetricGetAttribute(CUpti_MetricID metric, |
| CUpti_MetricAttribute attrib, |
| size_t *valueSize, void *value) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_MetricID, CUpti_MetricAttribute, |
| size_t *, void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiMetricGetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(metric, attrib, valueSize, value); |
| } |
| |
| CUptiResult CUPTIAPI cuptiMetricGetIdFromName(CUdevice device, |
| const char *metricName, |
| CUpti_MetricID *metric) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUdevice, const char *, CUpti_MetricID *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiMetricGetIdFromName"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(device, metricName, metric); |
| } |
| |
| CUptiResult CUPTIAPI cuptiMetricGetNumEvents(CUpti_MetricID metric, |
| uint32_t *numEvents) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_MetricID, uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiMetricGetNumEvents"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(metric, numEvents); |
| } |
| |
| CUptiResult CUPTIAPI cuptiMetricEnumEvents(CUpti_MetricID metric, |
| size_t *eventIdArraySizeBytes, |
| CUpti_EventID *eventIdArray) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUpti_MetricID, size_t *, CUpti_EventID *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiMetricEnumEvents"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(metric, eventIdArraySizeBytes, eventIdArray); |
| } |
| |
| CUptiResult CUPTIAPI cuptiMetricGetNumProperties(CUpti_MetricID metric, |
| uint32_t *numProp) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_MetricID, uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiMetricGetNumProperties"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(metric, numProp); |
| } |
| |
| CUptiResult CUPTIAPI |
| cuptiMetricEnumProperties(CUpti_MetricID metric, size_t *propIdArraySizeBytes, |
| CUpti_MetricPropertyID *propIdArray) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_MetricID, size_t *, |
| CUpti_MetricPropertyID *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiMetricEnumProperties"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(metric, propIdArraySizeBytes, propIdArray); |
| } |
| |
| CUptiResult CUPTIAPI |
| cuptiMetricGetRequiredEventGroupSets(CUcontext context, CUpti_MetricID metric, |
| CUpti_EventGroupSets **eventGroupSets) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, CUpti_MetricID, |
| CUpti_EventGroupSets **); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuptiMetricGetRequiredEventGroupSets"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, metric, eventGroupSets); |
| } |
| |
| CUptiResult CUPTIAPI cuptiMetricCreateEventGroupSets( |
| CUcontext context, size_t metricIdArraySizeBytes, |
| CUpti_MetricID *metricIdArray, CUpti_EventGroupSets **eventGroupPasses) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, size_t, CUpti_MetricID *, |
| CUpti_EventGroupSets **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiMetricCreateEventGroupSets"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, metricIdArraySizeBytes, metricIdArray, |
| eventGroupPasses); |
| } |
| |
| CUptiResult CUPTIAPI cuptiMetricGetValue(CUdevice device, CUpti_MetricID metric, |
| size_t eventIdArraySizeBytes, |
| CUpti_EventID *eventIdArray, |
| size_t eventValueArraySizeBytes, |
| uint64_t *eventValueArray, |
| uint64_t timeDuration, |
| CUpti_MetricValue *metricValue) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUdevice, CUpti_MetricID, size_t, |
| CUpti_EventID *, size_t, uint64_t *, |
| uint64_t, CUpti_MetricValue *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiMetricGetValue"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(device, metric, eventIdArraySizeBytes, eventIdArray, |
| eventValueArraySizeBytes, eventValueArray, timeDuration, |
| metricValue); |
| } |
| |
| CUptiResult CUPTIAPI cuptiMetricGetValue2( |
| CUpti_MetricID metric, size_t eventIdArraySizeBytes, |
| CUpti_EventID *eventIdArray, size_t eventValueArraySizeBytes, |
| uint64_t *eventValueArray, size_t propIdArraySizeBytes, |
| CUpti_MetricPropertyID *propIdArray, size_t propValueArraySizeBytes, |
| uint64_t *propValueArray, CUpti_MetricValue *metricValue) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)( |
| CUpti_MetricID, size_t, CUpti_EventID *, size_t, uint64_t *, size_t, |
| CUpti_MetricPropertyID *, size_t, uint64_t *, CUpti_MetricValue *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiMetricGetValue2"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(metric, eventIdArraySizeBytes, eventIdArray, |
| eventValueArraySizeBytes, eventValueArray, |
| propIdArraySizeBytes, propIdArray, propValueArraySizeBytes, |
| propValueArray, metricValue); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetTimestamp(uint64_t *timestamp) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(uint64_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetTimestamp"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(timestamp); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetContextId(CUcontext context, uint32_t *contextId) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetContextId"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, contextId); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetStreamId(CUcontext context, CUstream stream, |
| uint32_t *streamId) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, CUstream, uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetStreamId"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, stream, streamId); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetStreamIdEx(CUcontext context, CUstream stream, |
| uint8_t perThreadStream, |
| uint32_t *streamId) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUcontext, CUstream, uint8_t, uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetStreamIdEx"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, stream, perThreadStream, streamId); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetDeviceId(CUcontext context, uint32_t *deviceId) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, uint32_t *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetDeviceId"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, deviceId); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityEnable(CUpti_ActivityKind kind) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_ActivityKind); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiActivityEnable"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(kind); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityDisable(CUpti_ActivityKind kind) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_ActivityKind); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiActivityDisable"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(kind); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityEnableContext(CUcontext context, |
| CUpti_ActivityKind kind) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, CUpti_ActivityKind); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiActivityEnableContext"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, kind); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityDisableContext(CUcontext context, |
| CUpti_ActivityKind kind) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, CUpti_ActivityKind); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiActivityDisableContext"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, kind); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityGetNumDroppedRecords(CUcontext context, |
| uint32_t streamId, |
| size_t *dropped) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, uint32_t, size_t *); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuptiActivityGetNumDroppedRecords"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, streamId, dropped); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityGetNextRecord(uint8_t *buffer, |
| size_t validBufferSizeBytes, |
| CUpti_Activity **record) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(uint8_t *, size_t, CUpti_Activity **); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiActivityGetNextRecord"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(buffer, validBufferSizeBytes, record); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityRegisterCallbacks( |
| CUpti_BuffersCallbackRequestFunc funcBufferRequested, |
| CUpti_BuffersCallbackCompleteFunc funcBufferCompleted) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_BuffersCallbackRequestFunc, |
| CUpti_BuffersCallbackCompleteFunc); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiActivityRegisterCallbacks"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(funcBufferRequested, funcBufferCompleted); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityFlush(CUcontext context, uint32_t streamId, |
| uint32_t flag) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUcontext, uint32_t, uint32_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiActivityFlush"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, streamId, flag); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityFlushAll(uint32_t flag) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(uint32_t); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiActivityFlushAll"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(flag); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityGetAttribute(CUpti_ActivityAttribute attr, |
| size_t *valueSize, void *value) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUpti_ActivityAttribute, size_t *, void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiActivityGetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(attr, valueSize, value); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivitySetAttribute(CUpti_ActivityAttribute attr, |
| size_t *valueSize, void *value) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUpti_ActivityAttribute, size_t *, void *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiActivitySetAttribute"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(attr, valueSize, value); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityConfigureUnifiedMemoryCounter( |
| CUpti_ActivityUnifiedMemoryCounterConfig *config, uint32_t count) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)( |
| CUpti_ActivityUnifiedMemoryCounterConfig *, uint32_t); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuptiActivityConfigureUnifiedMemoryCounter"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(config, count); |
| } |
| |
| CUptiResult CUPTIAPI |
| cuptiGetAutoBoostState(CUcontext context, CUpti_ActivityAutoBoostState *state) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUcontext, CUpti_ActivityAutoBoostState *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetAutoBoostState"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(context, state); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityConfigurePCSampling( |
| CUcontext ctx, CUpti_ActivityPCSamplingConfig *config) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUcontext, CUpti_ActivityPCSamplingConfig *); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuptiActivityConfigurePCSampling"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(ctx, config); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetLastError(void) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetLastError"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(); |
| } |
| |
| CUptiResult CUPTIAPI cuptiSetThreadIdType(CUpti_ActivityThreadIdType type) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_ActivityThreadIdType); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiSetThreadIdType"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(type); |
| } |
| |
| CUptiResult CUPTIAPI cuptiGetThreadIdType(CUpti_ActivityThreadIdType *type) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUpti_ActivityThreadIdType *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiGetThreadIdType"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(type); |
| } |
| |
| CUptiResult CUPTIAPI cuptiComputeCapabilitySupported(int major, int minor, |
| int *support) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(int, int, int *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiComputeCapabilitySupported"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(major, minor, support); |
| } |
| |
| CUptiResult CUPTIAPI cuptiDeviceSupported(CUdevice dev, int *support) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(CUdevice, int *); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiDeviceSupported"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(dev, support); |
| } |
| |
| CUptiResult CUPTIAPI cuptiFinalize(void) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(); |
| static auto func_ptr = LoadSymbol<FuncPtr>("cuptiFinalize"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityPushExternalCorrelationId( |
| CUpti_ExternalCorrelationKind kind, uint64_t id) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUpti_ExternalCorrelationKind, uint64_t); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuptiActivityPushExternalCorrelationId"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(kind, id); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityPopExternalCorrelationId( |
| CUpti_ExternalCorrelationKind kind, uint64_t *lastId) { |
| using FuncPtr = |
| CUptiResult(CUPTIAPI *)(CUpti_ExternalCorrelationKind, uint64_t *); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuptiActivityPopExternalCorrelationId"); |
| if (!func_ptr) return GetSymbolNotFoundError(); |
| return func_ptr(kind, lastId); |
| } |
| |
| CUptiResult CUPTIAPI cuptiActivityEnableLatencyTimestamps(uint8_t enable) { |
| using FuncPtr = CUptiResult(CUPTIAPI *)(uint8_t); |
| static auto func_ptr = |
| LoadSymbol<FuncPtr>("cuptiActivityEnableLatencyTimestamps"); |
| return func_ptr(enable); |
| } |
| } // extern "C" |