NVTX C API Reference
v3
NVIDIA Tools Extension Library
Loading...
Searching...
No Matches
nvtx3
nvToolsExtPayloadHelper.h
1
/*
2
* SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
* Licensed under the Apache License v2.0 with LLVM Exceptions.
18
* See https://nvidia.github.io/NVTX/LICENSE.txt for license information.
19
*/
20
21
#if defined(NVTX_AS_SYSTEM_HEADER)
22
#if defined(__clang__)
23
#pragma clang system_header
24
#elif defined(__GNUC__) || defined(__NVCOMPILER)
25
#pragma GCC system_header
26
#elif defined(_MSC_VER)
27
#pragma system_header
28
#endif
29
#endif
30
31
#include "nvtxDetail/nvtxExtPayloadHelperInternal.h"
32
33
34
/* This is just an empty marker (for readability), which can be omitted. */
35
/* TODO: Fix issue with trailing comma at end of entry list. */
36
#define NVTX_PAYLOAD_ENTRIES
37
38
43
#define NVTX_PAYLOAD_NESTED(schemaId) _NVTX_PAYLOAD_NESTED(schemaId)
44
45
86
#define NVTX_DEFINE_SCHEMA_FOR_STRUCT(struct_id, ...) \
87
_NVTX_DEFINE_SCHEMA_FOR_STRUCT(struct_id, __VA_ARGS__)
88
89
130
#define NVTX_DEFINE_STRUCT_WITH_SCHEMA(struct_id, ...) \
131
_NVTX_DEFINE_STRUCT_WITH_SCHEMA(struct_id, __VA_ARGS__)
132
143
#define NVTX_DEFINE_STRUCT_WITH_SCHEMA_AND_REGISTER(domain, struct_id, ...) \
144
_NVTX_DEFINE_STRUCT_WITH_SCHEMA(struct_id, __VA_ARGS__) \
145
const uint64_t struct_id##_schemaId = nvtxPayloadSchemaRegister(domain, &struct_id##Attr);
146
156
#define NVTX_DEFINE_SCHEMA_FOR_STRUCT_AND_REGISTER(domain, struct_id, ...) \
157
_NVTX_DEFINE_SCHEMA_FOR_STRUCT(struct_id, __VA_ARGS__) \
158
const uint64_t struct_id##_schemaId = nvtxPayloadSchemaRegister(domain, &struct_id##Attr);
159
175
#define NVTX_DEFINE_STRUCT(struct_id, ...) \
176
_NVTX_PAYLOAD_TYPEDEF_STRUCT(struct_id, __VA_ARGS__)
177
190
#define NVTX_PAYLOAD_SCHEMA_REGISTER(domain, struct_id) \
191
nvtxPayloadSchemaRegister(domain, &struct_id##Attr);
192
Generated by
1.9.8