rocprofiler-sdk/version.h Source File

rocprofiler-sdk/version.h Source File#

ROCprofiler-SDK developer API: rocprofiler-sdk/version.h Source File
ROCprofiler-SDK developer API 1.0.0
ROCm Profiling API and tools
version.h
1// MIT License
2//
3// Copyright (c) 2023-2025 Advanced Micro Devices, Inc. All rights reserved.
4//
5// Permission is hereby granted, free of charge, to any person obtaining a copy
6// of this software and associated documentation files (the "Software"), to deal
7// in the Software without restriction, including without limitation the rights
8// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9// copies of the Software, and to permit persons to whom the Software is
10// furnished to do so, subject to the following conditions:
11//
12// The above copyright notice and this permission notice shall be included in all
13// copies or substantial portions of the Software.
14//
15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21// SOFTWARE.
22
23#pragma once
24
25#include <rocprofiler-sdk/defines.h>
26
27/**
28 * @def ROCPROFILER_IS_ROCPROFILER_SDK
29 * @brief Preprocessor define indicating the header is from rocprofiler-sdk project (i.e. not
30 * rocprofiler v1 or v2).
31 * @addtogroup VERSIONING_GROUP
32 *
33 * @def ROCPROFILER_SDK_VERSION_MAJOR
34 * @brief The major version of the interface as a macro so it can be used
35 * by the preprocessor.
36 * @addtogroup VERSIONING_GROUP
37 *
38 * @def ROCPROFILER_SDK_VERSION_MINOR
39 * @brief The minor version of the interface as a macro so it can be used
40 * by the preprocessor.
41 * @addtogroup VERSIONING_GROUP
42 *
43 * @def ROCPROFILER_SDK_VERSION_PATCH
44 * @brief The patch version of the interface as a macro so it can be used
45 * by the preprocessor.
46 * @addtogroup VERSIONING_GROUP
47 *
48 * @def ROCPROFILER_SDK_VERSION
49 * @brief Numerically increasing version number encoding major, minor, and patch via
50 computing `((10000 * <MAJOR>) + (100 * <MINOR>) + <PATCH>)`.
51 * @addtogroup VERSIONING_GROUP
52 *
53 * @def ROCPROFILER_SDK_SOVERSION
54 * @brief Shared object versioning value whose value is at least `(10000 * <MAJOR>)`.
55 * @addtogroup VERSIONING_GROUP
56 *
57 * @def ROCPROFILER_SDK_VERSION_STRING
58 * @brief Version string in form: `<MAJOR>.<MINOR>.<PATCH>`.
59 * @addtogroup VERSIONING_GROUP
60 *
61 * @def ROCPROFILER_SDK_GIT_DESCRIBE
62 * @brief String encoding of `git describe --tags` when rocprofiler-sdk was built.
63 * @addtogroup VERSIONING_GROUP
64 *
65 * @def ROCPROFILER_SDK_GIT_REVISION
66 * @brief String encoding of `git rev-parse HEAD` when rocprofiler-sdk was built.
67 * @addtogroup VERSIONING_GROUP
68 *
69 * @def ROCPROFILER_SDK_LIBRARY_ARCH
70 * @brief Architecture triplet of rocprofiler-sdk build.
71 * @addtogroup VERSIONING_GROUP
72 *
73 * @def ROCPROFILER_SDK_SYSTEM_NAME
74 * @brief Target operating system for rocprofiler-sdk build, e.g. Linux.
75 * @addtogroup VERSIONING_GROUP
76 *
77 * @def ROCPROFILER_SDK_SYSTEM_PROCESSOR
78 * @brief Target architecture for rocprofiler-sdk build.
79 * @addtogroup VERSIONING_GROUP
80 *
81 * @def ROCPROFILER_SDK_SYSTEM_VERSION
82 * @brief Version of the operating system which built rocprofiler
83 * @addtogroup VERSIONING_GROUP
84 *
85 * @def ROCPROFILER_SDK_COMPILER_ID
86 * @brief C++ compiler identifier which built rocprofiler, e.g., GNU
87 * @addtogroup VERSIONING_GROUP
88 *
89 * @def ROCPROFILER_SDK_COMPILER_VERSION
90 * @brief C++ compiler version which built rocprofiler
91 * @addtogroup VERSIONING_GROUP
92 *
93 * @def ROCPROFILER_VERSION_MAJOR
94 * @brief The major version of the interface as a macro so it can be used
95 * by the preprocessor. Deprecated in favor of `ROCPROFILER_SDK_` variant.
96 * @addtogroup VERSIONING_GROUP
97 *
98 * @def ROCPROFILER_VERSION_MINOR
99 * @brief The minor version of the interface as a macro so it can be used
100 * by the preprocessor. Deprecated in favor of `ROCPROFILER_SDK_` variant.
101 * @addtogroup VERSIONING_GROUP
102 *
103 * @def ROCPROFILER_VERSION_PATCH
104 * @brief The patch version of the interface as a macro so it can be used
105 * by the preprocessor. Deprecated in favor of `ROCPROFILER_SDK_` variant.
106 * @addtogroup VERSIONING_GROUP
107 *
108 * @def ROCPROFILER_VERSION
109 * @brief Numerically increasing version number encoding major, minor, and patch via
110 * computing `((10000 * <MAJOR>) + (100 * <MINOR>) + <PATCH>)`. Deprecated in favor
111 * of `ROCPROFILER_SDK_` variant.
112 * @addtogroup VERSIONING_GROUP
113 *
114 * @def ROCPROFILER_SOVERSION
115 * @brief Shared object versioning value whose value is at least `(10000 * <MAJOR>)`.
116 * Deprecated in favor of `ROCPROFILER_SDK_` variant.
117 * @addtogroup VERSIONING_GROUP
118 *
119 * @def ROCPROFILER_VERSION_STRING
120 * @brief Version string in form: `<MAJOR>.<MINOR>.<PATCH>`. Deprecated in favor of
121 * `ROCPROFILER_SDK_` variant.
122 * @addtogroup VERSIONING_GROUP
123 *
124 * @def ROCPROFILER_GIT_DESCRIBE
125 * @brief String encoding of `git describe --tags` when rocprofiler-sdk was built. Deprecated in
126 * favor of `ROCPROFILER_SDK_` variant.
127 * @addtogroup VERSIONING_GROUP
128 *
129 * @def ROCPROFILER_GIT_REVISION
130 * @brief String encoding of `git rev-parse HEAD` when rocprofiler-sdk was built. Deprecated in
131 * favor of `ROCPROFILER_SDK_` variant.
132 * @addtogroup VERSIONING_GROUP
133 *
134 * @def ROCPROFILER_LIBRARY_ARCH
135 * @brief Architecture triplet of rocprofiler-sdk build. Deprecated in favor of `ROCPROFILER_SDK_`
136 * variant.
137 * @addtogroup VERSIONING_GROUP
138 *
139 * @def ROCPROFILER_SYSTEM_NAME
140 * @brief Target operating system for rocprofiler-sdk build, e.g. Linux. Deprecated in favor of
141 * `ROCPROFILER_SDK_` variant.
142 * @addtogroup VERSIONING_GROUP
143 *
144 * @def ROCPROFILER_SYSTEM_PROCESSOR
145 * @brief Target architecture for rocprofiler-sdk build. Deprecated in favor of `ROCPROFILER_SDK_`
146 * variant.
147 * @addtogroup VERSIONING_GROUP
148 *
149 * @def ROCPROFILER_SYSTEM_VERSION
150 * @brief Version of the operating system which built rocprofiler. Deprecated in favor of
151 * `ROCPROFILER_SDK_` variant.
152 * @addtogroup VERSIONING_GROUP
153 *
154 * @def ROCPROFILER_COMPILER_ID
155 * @brief C++ compiler identifier which built rocprofiler, e.g., GNU. Deprecated in favor of
156 * `ROCPROFILER_SDK_` variant.
157 * @addtogroup VERSIONING_GROUP
158 *
159 * @def ROCPROFILER_COMPILER_VERSION
160 * @brief C++ compiler version which built rocprofiler-sdk. Deprecated in favor of
161 * `ROCPROFILER_SDK_` variant.
162 * @addtogroup VERSIONING_GROUP
163 */
164
165#define ROCPROFILER_IS_ROCPROFILER_SDK 1
166
167// clang-format off
168#define ROCPROFILER_SDK_VERSION_MAJOR 1
169#define ROCPROFILER_SDK_VERSION_MINOR 0
170#define ROCPROFILER_SDK_VERSION_PATCH 0
171#define ROCPROFILER_SDK_SOVERSION 1
172#define ROCPROFILER_SDK_VERSION_STRING "1.0.0"
173#define ROCPROFILER_SDK_GIT_DESCRIBE "v1.0.0"
174#define ROCPROFILER_SDK_GIT_REVISION ""
175
176// system info during compilation
177#define ROCPROFILER_SDK_LIBRARY_ARCH "x86_64-linux-gnu"
178#define ROCPROFILER_SDK_SYSTEM_NAME "Linux"
179#define ROCPROFILER_SDK_SYSTEM_PROCESSOR "x86_64"
180#define ROCPROFILER_SDK_SYSTEM_VERSION "6.8.0-1021-aws"
181
182// compiler information
183#define ROCPROFILER_SDK_COMPILER_ID "GNU"
184#define ROCPROFILER_SDK_COMPILER_VERSION "11.4.0"
185// clang-format on
186
187#define ROCPROFILER_SDK_VERSION \
188 ROCPROFILER_SDK_COMPUTE_VERSION( \
189 ROCPROFILER_VERSION_MAJOR, ROCPROFILER_VERSION_MINOR, ROCPROFILER_VERSION_PATCH)
190
191// clang-format off
192#define ROCPROFILER_VERSION_MAJOR 1
193#define ROCPROFILER_VERSION_MINOR 0
194#define ROCPROFILER_VERSION_PATCH 0
195#define ROCPROFILER_SOVERSION 1
196#define ROCPROFILER_VERSION_STRING "1.0.0"
197#define ROCPROFILER_GIT_DESCRIBE "v1.0.0"
198#define ROCPROFILER_GIT_REVISION ""
199
200// system info during compilation
201#define ROCPROFILER_LIBRARY_ARCH "x86_64-linux-gnu"
202#define ROCPROFILER_SYSTEM_NAME "Linux"
203#define ROCPROFILER_SYSTEM_PROCESSOR "x86_64"
204#define ROCPROFILER_SYSTEM_VERSION "6.8.0-1021-aws"
205
206// compiler information
207#define ROCPROFILER_COMPILER_ID "GNU"
208#define ROCPROFILER_COMPILER_VERSION "11.4.0"
209// clang-format on
210
211#define ROCPROFILER_VERSION \
212 ROCPROFILER_SDK_COMPUTE_VERSION( \
213 ROCPROFILER_VERSION_MAJOR, ROCPROFILER_VERSION_MINOR, ROCPROFILER_VERSION_PATCH)