NVTX C API Reference v3
NVIDIA Tools Extension Library
Loading...
Searching...
No Matches
nvToolsExtOpenCL.h
1/*
2* Copyright 2009-2022 NVIDIA Corporation. All rights reserved.
3*
4* Licensed under the Apache License v2.0 with LLVM Exceptions.
5* See https://llvm.org/LICENSE.txt for license information.
6* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7*/
8
9#include "nvToolsExt.h"
10
11#include <CL/cl.h>
12
13#ifndef NVTOOLSEXT_OPENCL_V3
14#define NVTOOLSEXT_OPENCL_V3
15
16#ifdef __cplusplus
17extern "C" {
18#endif /* __cplusplus */
19
20/* ========================================================================= */
32/* ------------------------------------------------------------------------- */
33/* \cond SHOW_HIDDEN
34* \brief Used to build a non-colliding value for resource types separated class
35* \version \NVTX_VERSION_2
36*/
37#define NVTX_RESOURCE_CLASS_OPENCL 6
40/* ------------------------------------------------------------------------- */
44{
45 NVTX_RESOURCE_TYPE_OPENCL_DEVICE = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 1),
46 NVTX_RESOURCE_TYPE_OPENCL_CONTEXT = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 2),
47 NVTX_RESOURCE_TYPE_OPENCL_COMMANDQUEUE = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 3),
48 NVTX_RESOURCE_TYPE_OPENCL_MEMOBJECT = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 4),
49 NVTX_RESOURCE_TYPE_OPENCL_SAMPLER = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 5),
50 NVTX_RESOURCE_TYPE_OPENCL_PROGRAM = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 6),
51 NVTX_RESOURCE_TYPE_OPENCL_EVENT = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 7),
53
54
55/* ------------------------------------------------------------------------- */
65NVTX_DECLSPEC void NVTX_API nvtxNameClDeviceA(cl_device_id device, const char* name);
66NVTX_DECLSPEC void NVTX_API nvtxNameClDeviceW(cl_device_id device, const wchar_t* name);
69/* ------------------------------------------------------------------------- */
79NVTX_DECLSPEC void NVTX_API nvtxNameClContextA(cl_context context, const char* name);
80NVTX_DECLSPEC void NVTX_API nvtxNameClContextW(cl_context context, const wchar_t* name);
83/* ------------------------------------------------------------------------- */
93NVTX_DECLSPEC void NVTX_API nvtxNameClCommandQueueA(cl_command_queue command_queue, const char* name);
94NVTX_DECLSPEC void NVTX_API nvtxNameClCommandQueueW(cl_command_queue command_queue, const wchar_t* name);
97/* ------------------------------------------------------------------------- */
107NVTX_DECLSPEC void NVTX_API nvtxNameClMemObjectA(cl_mem memobj, const char* name);
108NVTX_DECLSPEC void NVTX_API nvtxNameClMemObjectW(cl_mem memobj, const wchar_t* name);
111/* ------------------------------------------------------------------------- */
121NVTX_DECLSPEC void NVTX_API nvtxNameClSamplerA(cl_sampler sampler, const char* name);
122NVTX_DECLSPEC void NVTX_API nvtxNameClSamplerW(cl_sampler sampler, const wchar_t* name);
125/* ------------------------------------------------------------------------- */
142NVTX_DECLSPEC void NVTX_API nvtxNameClProgramA(cl_program program, const char* name);
143NVTX_DECLSPEC void NVTX_API nvtxNameClProgramW(cl_program program, const wchar_t* name);
146/* ------------------------------------------------------------------------- */
156NVTX_DECLSPEC void NVTX_API nvtxNameClEventA(cl_event evnt, const char* name);
157NVTX_DECLSPEC void NVTX_API nvtxNameClEventW(cl_event evnt, const wchar_t* name); /* END RESOURCE_NAMING */
161
162/* ========================================================================= */
163#ifdef UNICODE
164 #define nvtxNameClDevice nvtxNameClDeviceW
165 #define nvtxNameClContext nvtxNameClContextW
166 #define nvtxNameClCommandQueue nvtxNameClCommandQueueW
167 #define nvtxNameClMemObject nvtxNameClMemObjectW
168 #define nvtxNameClSampler nvtxNameClSamplerW
169 #define nvtxNameClProgram nvtxNameClProgramW
170 #define nvtxNameClEvent nvtxNameClEventW
171#else
172 #define nvtxNameClDevice nvtxNameClDeviceA
173 #define nvtxNameClContext nvtxNameClContextA
174 #define nvtxNameClCommandQueue nvtxNameClCommandQueueA
175 #define nvtxNameClMemObject nvtxNameClMemObjectA
176 #define nvtxNameClSampler nvtxNameClSamplerA
177 #define nvtxNameClProgram nvtxNameClProgramA
178 #define nvtxNameClEvent nvtxNameClEventA
179#endif
180
181#ifdef __cplusplus
182}
183#endif /* __cplusplus */
184
185#ifndef NVTX_NO_IMPL
186#define NVTX_IMPL_GUARD_OPENCL /* Ensure other headers cannot included directly */
187#include "nvtxDetail/nvtxImplOpenCL_v3.h"
188#undef NVTX_IMPL_GUARD_OPENCL
189#endif /*NVTX_NO_IMPL*/
190
191#endif /* NVTOOLSEXT_OPENCL_V3 */
NVTX_DECLSPEC void NVTX_API nvtxNameClEventA(cl_event evnt, const char *name)
Annotates an OpenCL event.
NVTX_DECLSPEC void NVTX_API nvtxNameClSamplerA(cl_sampler sampler, const char *name)
Annotates an OpenCL sampler.
NVTX_DECLSPEC void NVTX_API nvtxNameClDeviceA(cl_device_id device, const char *name)
Annotates an OpenCL device.
NVTX_DECLSPEC void NVTX_API nvtxNameClMemObjectA(cl_mem memobj, const char *name)
Annotates an OpenCL memory object.
NVTX_DECLSPEC void NVTX_API nvtxNameClProgramA(cl_program program, const char *name)
Annotates an OpenCL program.
nvtxResourceOpenCLType_t
Resource types for OpenCL.
NVTX_DECLSPEC void NVTX_API nvtxNameClCommandQueueA(cl_command_queue command_queue, const char *name)
Annotates an OpenCL command queue.
NVTX_DECLSPEC void NVTX_API nvtxNameClContextA(cl_context context, const char *name)
Annotates an OpenCL context.