nvidia-nvvm 13.0.48__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
Binary file
@@ -0,0 +1,360 @@
1
+ //
2
+ // NVIDIA_COPYRIGHT_BEGIN
3
+ //
4
+ // Copyright (c) 2014-2025, NVIDIA CORPORATION. All rights reserved.
5
+ //
6
+ // NVIDIA CORPORATION and its licensors retain all intellectual property
7
+ // and proprietary rights in and to this software, related documentation
8
+ // and any modifications thereto. Any use, reproduction, disclosure or
9
+ // distribution of this software and related documentation without an express
10
+ // license agreement from NVIDIA CORPORATION is strictly prohibited.
11
+ //
12
+ // NVIDIA_COPYRIGHT_END
13
+ //
14
+
15
+ #ifndef NVVM_H
16
+ #define NVVM_H
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif /* __cplusplus */
21
+
22
+ #include <stdlib.h>
23
+
24
+
25
+ /*****************************//**
26
+ *
27
+ * \defgroup error Error Handling
28
+ *
29
+ ********************************/
30
+
31
+
32
+ /**
33
+ * \ingroup error
34
+ * \brief NVVM API call result code.
35
+ */
36
+ typedef enum {
37
+ NVVM_SUCCESS = 0,
38
+ NVVM_ERROR_OUT_OF_MEMORY = 1,
39
+ NVVM_ERROR_PROGRAM_CREATION_FAILURE = 2,
40
+ NVVM_ERROR_IR_VERSION_MISMATCH = 3,
41
+ NVVM_ERROR_INVALID_INPUT = 4,
42
+ NVVM_ERROR_INVALID_PROGRAM = 5,
43
+ NVVM_ERROR_INVALID_IR = 6,
44
+ NVVM_ERROR_INVALID_OPTION = 7,
45
+ NVVM_ERROR_NO_MODULE_IN_PROGRAM = 8,
46
+ NVVM_ERROR_COMPILATION = 9,
47
+ NVVM_ERROR_CANCELLED = 10
48
+ } nvvmResult;
49
+
50
+
51
+ /**
52
+ * \ingroup error
53
+ * \brief Get the message string for the given #nvvmResult code.
54
+ *
55
+ * \param [in] result NVVM API result code.
56
+ * \return Message string for the given #nvvmResult code.
57
+ */
58
+ const char *nvvmGetErrorString(nvvmResult result);
59
+
60
+
61
+ /****************************************//**
62
+ *
63
+ * \defgroup query General Information Query
64
+ *
65
+ *******************************************/
66
+
67
+
68
+ /**
69
+ * \ingroup query
70
+ * \brief Get the NVVM version.
71
+ *
72
+ * \param [out] major NVVM major version number.
73
+ * \param [out] minor NVVM minor version number.
74
+ * \return
75
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
76
+ *
77
+ */
78
+ nvvmResult nvvmVersion(int *major, int *minor);
79
+
80
+
81
+ /**
82
+ * \ingroup query
83
+ * \brief Get the NVVM IR version.
84
+ *
85
+ * \param [out] majorIR NVVM IR major version number.
86
+ * \param [out] minorIR NVVM IR minor version number.
87
+ * \param [out] majorDbg NVVM IR debug metadata major version number.
88
+ * \param [out] minorDbg NVVM IR debug metadata minor version number.
89
+ * \return
90
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
91
+ *
92
+ */
93
+ nvvmResult nvvmIRVersion(int *majorIR, int *minorIR, int *majorDbg, int *minorDbg);
94
+
95
+
96
+ /********************************//**
97
+ *
98
+ * \defgroup compilation Compilation
99
+ *
100
+ ***********************************/
101
+
102
+ /**
103
+ * \ingroup compilation
104
+ * \brief NVVM Program.
105
+ *
106
+ * An opaque handle for a program.
107
+ */
108
+ typedef struct _nvvmProgram *nvvmProgram;
109
+
110
+ /**
111
+ * \ingroup compilation
112
+ * \brief Create a program, and set the value of its handle to \p *prog.
113
+ *
114
+ * \param [in] prog NVVM program.
115
+ * \return
116
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
117
+ * - \link ::nvvmResult NVVM_ERROR_OUT_OF_MEMORY \endlink
118
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_PROGRAM \endlink
119
+ *
120
+ * \see nvvmDestroyProgram()
121
+ */
122
+ nvvmResult nvvmCreateProgram(nvvmProgram *prog);
123
+
124
+
125
+ /**
126
+ * \ingroup compilation
127
+ * \brief Destroy a program.
128
+ *
129
+ * \param [in] prog NVVM program.
130
+ * \return
131
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
132
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_PROGRAM \endlink
133
+ *
134
+ * \see nvvmCreateProgram()
135
+ */
136
+ nvvmResult nvvmDestroyProgram(nvvmProgram *prog);
137
+
138
+
139
+ /**
140
+ * \ingroup compilation
141
+ * \brief Add a module level NVVM IR to a program.
142
+ *
143
+ * The \p buffer should contain an NVVM IR module.
144
+ * The module should have NVVM IR either in the LLVM 7.0.1 bitcode
145
+ * representation or in the LLVM 7.0.1 text representation. Support for reading
146
+ * the text representation of NVVM IR is deprecated and may be removed in a
147
+ * later version.
148
+ *
149
+ * \param [in] prog NVVM program.
150
+ * \param [in] buffer NVVM IR module in the bitcode or text
151
+ * representation.
152
+ * \param [in] size Size of the NVVM IR module.
153
+ * \param [in] name Name of the NVVM IR module.
154
+ * If NULL, "<unnamed>" is used as the name.
155
+ * \return
156
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
157
+ * - \link ::nvvmResult NVVM_ERROR_OUT_OF_MEMORY \endlink
158
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_INPUT \endlink
159
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_PROGRAM \endlink
160
+ */
161
+ nvvmResult nvvmAddModuleToProgram(nvvmProgram prog, const char *buffer, size_t size, const char *name);
162
+
163
+ /**
164
+ * \ingroup compilation
165
+ * \brief Add a module level NVVM IR to a program.
166
+ *
167
+ * The \p buffer should contain an NVVM IR module. The module should have NVVM
168
+ * IR in the LLVM 7.0.1 bitcode representation.
169
+ *
170
+ * A module added using this API is lazily loaded - the only symbols loaded
171
+ * are those that are required by module(s) loaded using
172
+ * nvvmAddModuleToProgram. It is an error for a program to have
173
+ * all modules loaded using this API. Compiler may also optimize entities
174
+ * in this module by making them internal to the linked NVVM IR module,
175
+ * making them eligible for other optimizations. Due to these
176
+ * optimizations, this API to load a module is more efficient and should
177
+ * be used where possible.
178
+ *
179
+ * \param [in] prog NVVM program.
180
+ * \param [in] buffer NVVM IR module in the bitcode representation.
181
+ * \param [in] size Size of the NVVM IR module.
182
+ * \param [in] name Name of the NVVM IR module.
183
+ * If NULL, "<unnamed>" is used as the name.
184
+ * \return
185
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
186
+ * - \link ::nvvmResult NVVM_ERROR_OUT_OF_MEMORY \endlink
187
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_INPUT \endlink
188
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_PROGRAM \endlink
189
+ */
190
+ nvvmResult nvvmLazyAddModuleToProgram(nvvmProgram prog, const char *buffer, size_t size, const char *name);
191
+
192
+ /**
193
+ * \ingroup compilation
194
+ * \brief Compile the NVVM program.
195
+ *
196
+ * The NVVM IR modules in the program will be linked at the IR level.
197
+ * The linked IR program is compiled to PTX.
198
+ *
199
+ * The target datalayout in the linked IR program is used to
200
+ * determine the address size (32bit vs 64bit).
201
+ *
202
+ * The valid compiler options are:
203
+ *
204
+ * - -g (enable generation of full debugging information).
205
+ * Full debug support is only valid with '-opt=0'. Debug support
206
+ * requires the input module to utilize NVVM IR Debug Metadata.
207
+ * Line number (line info) only generation is also enabled via NVVM IR
208
+ * Debug Metadata, there is no specific libNVVM API flag for that case.
209
+ * - -opt=
210
+ * - 0 (disable optimizations)
211
+ * - 3 (default, enable optimizations)
212
+ * - -arch=
213
+ * - compute_75 (default)
214
+ * - compute_80
215
+ * - compute_87
216
+ * - compute_89
217
+ * - compute_90
218
+ * - compute_90a
219
+ * - compute_100
220
+ * - compute_100a
221
+ * - compute_100f
222
+ * - compute_101
223
+ * - compute_101a
224
+ * - compute_101f
225
+ * - compute_103
226
+ * - compute_103a
227
+ * - compute_103f
228
+ * - compute_120
229
+ * - compute_120a
230
+ * - compute_120f
231
+ * - compute_121
232
+ * - compute_121a
233
+ * - compute_121f
234
+ * - -ftz=
235
+ * - 0 (default, preserve denormal values, when performing
236
+ * single-precision floating-point operations)
237
+ * - 1 (flush denormal values to zero, when performing
238
+ * single-precision floating-point operations)
239
+ * - -prec-sqrt=
240
+ * - 0 (use a faster approximation for single-precision
241
+ * floating-point square root)
242
+ * - 1 (default, use IEEE round-to-nearest mode for
243
+ * single-precision floating-point square root)
244
+ * - -prec-div=
245
+ * - 0 (use a faster approximation for single-precision
246
+ * floating-point division and reciprocals)
247
+ * - 1 (default, use IEEE round-to-nearest mode for
248
+ * single-precision floating-point division and reciprocals)
249
+ * - -fma=
250
+ * - 0 (disable FMA contraction)
251
+ * - 1 (default, enable FMA contraction)
252
+ * - -jump-table-density=[0-101]
253
+ * Specify the case density percentage in switch statements, and use
254
+ * it as a minimal threshold to determine whether jump table(brx.idx
255
+ * instruction) will be used to implement a switch statement. Default
256
+ * value is 101. The percentage ranges from 0 to 101 inclusively.
257
+ * - -gen-lto (Generate LTO IR instead of PTX).
258
+ *
259
+ * \param [in] prog NVVM program.
260
+ * \param [in] numOptions Number of compiler \p options passed.
261
+ * \param [in] options Compiler options in the form of C string array.
262
+ * \return
263
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
264
+ * - \link ::nvvmResult NVVM_ERROR_OUT_OF_MEMORY \endlink
265
+ * - \link ::nvvmResult NVVM_ERROR_IR_VERSION_MISMATCH \endlink
266
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_PROGRAM \endlink
267
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_OPTION \endlink
268
+ * - \link ::nvvmResult NVVM_ERROR_NO_MODULE_IN_PROGRAM \endlink
269
+ * - \link ::nvvmResult NVVM_ERROR_COMPILATION \endlink
270
+ */
271
+ nvvmResult nvvmCompileProgram(nvvmProgram prog, int numOptions, const char **options);
272
+
273
+ /**
274
+ * \ingroup compilation
275
+ * \brief Verify the NVVM program.
276
+ *
277
+ * The valid compiler options are:
278
+ *
279
+ * Same as for nvvmCompileProgram().
280
+ *
281
+ * \param [in] prog NVVM program.
282
+ * \param [in] numOptions Number of compiler \p options passed.
283
+ * \param [in] options Compiler options in the form of C string array.
284
+ * \return
285
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
286
+ * - \link ::nvvmResult NVVM_ERROR_OUT_OF_MEMORY \endlink
287
+ * - \link ::nvvmResult NVVM_ERROR_IR_VERSION_MISMATCH \endlink
288
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_PROGRAM \endlink
289
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_IR \endlink
290
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_OPTION \endlink
291
+ * - \link ::nvvmResult NVVM_ERROR_NO_MODULE_IN_PROGRAM \endlink
292
+ *
293
+ * \see nvvmCompileProgram()
294
+ */
295
+ nvvmResult nvvmVerifyProgram(nvvmProgram prog, int numOptions, const char **options);
296
+
297
+ /**
298
+ * \ingroup compilation
299
+ * \brief Get the size of the compiled result.
300
+ *
301
+ * \param [in] prog NVVM program.
302
+ * \param [out] bufferSizeRet Size of the compiled result (including the
303
+ * trailing NULL).
304
+ * \return
305
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
306
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_PROGRAM \endlink
307
+ */
308
+ nvvmResult nvvmGetCompiledResultSize(nvvmProgram prog, size_t *bufferSizeRet);
309
+
310
+
311
+ /**
312
+ * \ingroup compilation
313
+ * \brief Get the compiled result.
314
+ *
315
+ * The result is stored in the memory pointed to by \p buffer.
316
+ *
317
+ * \param [in] prog NVVM program.
318
+ * \param [out] buffer Compiled result.
319
+ * \return
320
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
321
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_PROGRAM \endlink
322
+ */
323
+ nvvmResult nvvmGetCompiledResult(nvvmProgram prog, char *buffer);
324
+
325
+ /**
326
+ * \ingroup compilation
327
+ * \brief Get the Size of Compiler/Verifier Message.
328
+ *
329
+ * The size of the message string (including the trailing NULL) is stored into
330
+ * \p bufferSizeRet when the return value is NVVM_SUCCESS.
331
+ *
332
+ * \param [in] prog NVVM program.
333
+ * \param [out] bufferSizeRet Size of the compilation/verification log
334
+ (including the trailing NULL).
335
+ * \return
336
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
337
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_PROGRAM \endlink
338
+ */
339
+ nvvmResult nvvmGetProgramLogSize(nvvmProgram prog, size_t *bufferSizeRet);
340
+
341
+ /**
342
+ * \ingroup compilation
343
+ * \brief Get the Compiler/Verifier Message.
344
+ *
345
+ * The NULL terminated message string is stored in the memory pointed to by
346
+ * \p buffer when the return value is NVVM_SUCCESS.
347
+ *
348
+ * \param [in] prog NVVM program.
349
+ * \param [out] buffer Compilation/Verification log.
350
+ * \return
351
+ * - \link ::nvvmResult NVVM_SUCCESS \endlink
352
+ * - \link ::nvvmResult NVVM_ERROR_INVALID_PROGRAM \endlink
353
+ */
354
+ nvvmResult nvvmGetProgramLog(nvvmProgram prog, char *buffer);
355
+
356
+ #ifdef __cplusplus
357
+ }
358
+ #endif /* __cplusplus */
359
+
360
+ #endif /* NVVM_H */
@@ -0,0 +1,45 @@
1
+ Metadata-Version: 2.4
2
+ Name: nvidia-nvvm
3
+ Version: 13.0.48
4
+ Summary: NVVM Libraries
5
+ Home-page: https://developer.nvidia.com/cuda-zone
6
+ Author: Nvidia CUDA Installer Team
7
+ Author-email: compute_installer@nvidia.com
8
+ License: LicenseRef-NVIDIA-Proprietary
9
+ Keywords: cuda,nvidia,runtime,machine learning,deep learning
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Intended Audience :: Education
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: License :: Other/Proprietary License
15
+ Classifier: Natural Language :: English
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.5
18
+ Classifier: Programming Language :: Python :: 3.6
19
+ Classifier: Programming Language :: Python :: 3.7
20
+ Classifier: Programming Language :: Python :: 3.8
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3 :: Only
25
+ Classifier: Topic :: Scientific/Engineering
26
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
27
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
28
+ Classifier: Topic :: Software Development
29
+ Classifier: Topic :: Software Development :: Libraries
30
+ Classifier: Operating System :: Microsoft :: Windows
31
+ Classifier: Operating System :: POSIX :: Linux
32
+ Requires-Python: >=3
33
+ License-File: License.txt
34
+ Dynamic: author
35
+ Dynamic: author-email
36
+ Dynamic: classifier
37
+ Dynamic: description
38
+ Dynamic: home-page
39
+ Dynamic: keywords
40
+ Dynamic: license
41
+ Dynamic: license-file
42
+ Dynamic: requires-python
43
+ Dynamic: summary
44
+
45
+ Compiler IR for CUDA applications
@@ -0,0 +1,9 @@
1
+ nvidia/cu13/bin/cicc.exe,sha256=H4Z-dazcvybtzGhcglhMm33mNbFALl0twLdg2ZWjBNE,69346336
2
+ nvidia/cu13/bin/x86_64/nvvm64_40_0.dll,sha256=DBFnA-SkF-SiHjwaXY9ABR0Lu2ADMrtqL-m0-N6uOWI,54241312
3
+ nvidia/cu13/include/nvvm.h,sha256=5o2PbQ3T-YMVaBBeR05HnZ3lJE-qkc6VbSL1lZPxlXo,12187
4
+ nvidia/cu13/nvvm/libdevice/libdevice.10.bc,sha256=m5qjPCV_i3Dj0gM4Qq_69MerRTBQB9EPXpbLeIyNw60,464104
5
+ nvidia_nvvm-13.0.48.dist-info/licenses/License.txt,sha256=rW9YU_ugyg0VnQ9Y1JrkmDDC-Mk_epJki5zpCttMbM0,59262
6
+ nvidia_nvvm-13.0.48.dist-info/METADATA,sha256=knzhPEiH2saP_XZJ1aJ7ESuFw_jwEYIoXoP7Xc3LEvk,1684
7
+ nvidia_nvvm-13.0.48.dist-info/WHEEL,sha256=ZjXRCNaQ9YSypEK2TE0LRB0sy2OVXSszb4Sx1XjM99k,97
8
+ nvidia_nvvm-13.0.48.dist-info/top_level.txt,sha256=fTkAtiFuL16nUrB9ytDDtpytz2t0B4NvYTnRzwAhO14,7
9
+ nvidia_nvvm-13.0.48.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-win_amd64
5
+