Coverage for cuda/bindings/_internal/nvjitlink.pyx: 74.90%

239 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-09-03 02:41 +0000

1# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 

2# 

3# SPDX-License-Identifier: Apache-2.0 

4# 

5# This code was automatically generated across versions from 12.0.1 to 13.3.0. Do not modify it directly. 

6# CYTHON-BINDINGS-GENERATED-DO-NOT-MODIFY-THIS-FILE: format=1; content-sha256=3088e90760487963484f2cb5230ddc1177d3a1b6d89213f9f368e8eec4a57eb8 

7  

8  

9# <<<< PREAMBLE CONTENT >>>> 

10  

11cdef extern from * nogil: 

12 """ 

13 #if defined(_MSC_VER) && !defined(__clang__) 

14 #include <intrin.h> 

15 static __forceinline int atomic_int_load(int *p) { 

16 int v = *(int volatile *)p; _ReadBarrier(); return v; 

17 } 

18 static __forceinline void atomic_int_store(int *p, int v) { 

19 _WriteBarrier(); *(int volatile *)p = v; 

20 } 

21 #elif defined(__cplusplus) 

22 /* GCC/Clang __atomic builtins work in any C++ standard without headers */ 

23 static inline int atomic_int_load(int *p) { 

24 return __atomic_load_n(p, __ATOMIC_ACQUIRE); 

25 } 

26 static inline void atomic_int_store(int *p, int v) { 

27 __atomic_store_n(p, v, __ATOMIC_RELEASE); 

28 } 

29 #else 

30 #include <stdatomic.h> 

31 static inline int atomic_int_load(int *p) { 

32 return (int)atomic_load_explicit((atomic_int *)p, memory_order_acquire); 

33 } 

34 static inline void atomic_int_store(int *p, int v) { 

35 atomic_store_explicit((atomic_int *)p, v, memory_order_release); 

36 } 

37 #endif 

38  

39 """ 

40 cdef int _cyb_atomic_int_load "atomic_int_load"(int *p) nogil 

41 cdef void _cyb_atomic_int_store "atomic_int_store"(int *p, int v) nogil 

42  

43cdef extern from "<dlfcn.h>": 

44 void* _cyb_dlsym "dlsym"(void*, const char*) nogil 

45 const void * _cyb_RTLD_DEFAULT "RTLD_DEFAULT" 

46  

47from libc.stdint cimport ( 

48 intptr_t, 

49 uint32_t, 

50) 

51  

52import threading as _cyb_threading 

53  

54cdef int _cyb___py_nvjitlink_init = 0 

55cdef dict _cyb_func_ptrs = None 

56cdef object _cyb_symbol_lock = _cyb_threading.Lock() 

57  

58# <<<< END OF PREAMBLE CONTENT >>>> 

59  

60from libc.stdint cimport uintptr_t 

61  

62from .utils import FunctionNotFoundError, NotSupportedError 

63from cuda.pathfinder import load_nvidia_dynamic_lib 

64  

65  

66############################################################################### 

67# Wrapper init 

68############################################################################### 

69  

70cdef void* __nvJitLinkCreate = NULL 

71cdef void* __nvJitLinkDestroy = NULL 

72cdef void* __nvJitLinkAddData = NULL 

73cdef void* __nvJitLinkAddFile = NULL 

74cdef void* __nvJitLinkComplete = NULL 

75cdef void* __nvJitLinkGetLinkedCubinSize = NULL 

76cdef void* __nvJitLinkGetLinkedCubin = NULL 

77cdef void* __nvJitLinkGetLinkedPtxSize = NULL 

78cdef void* __nvJitLinkGetLinkedPtx = NULL 

79cdef void* __nvJitLinkGetErrorLogSize = NULL 

80cdef void* __nvJitLinkGetErrorLog = NULL 

81cdef void* __nvJitLinkGetInfoLogSize = NULL 

82cdef void* __nvJitLinkGetInfoLog = NULL 

83cdef void* __nvJitLinkVersion = NULL 

84cdef void* __nvJitLinkGetLinkedLTOIRSize = NULL 

85cdef void* __nvJitLinkGetLinkedLTOIR = NULL 

86  

87cdef int _init_nvjitlink() except -1 nogil: 

88 global _cyb___py_nvjitlink_init 

89 cdef void* handle = NULL 

90 with gil, _cyb_symbol_lock: 

91 if _cyb___py_nvjitlink_init: return 0 

92  

93 global __nvJitLinkCreate 

94 __nvJitLinkCreate = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkCreate') 

95 if __nvJitLinkCreate == NULL: 

96 if handle == NULL: 

97 handle = load_library() 

98 __nvJitLinkCreate = _cyb_dlsym(handle, 'nvJitLinkCreate') 

99  

100 global __nvJitLinkDestroy 

101 __nvJitLinkDestroy = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkDestroy') 

102 if __nvJitLinkDestroy == NULL: 

103 if handle == NULL: 

104 handle = load_library() 

105 __nvJitLinkDestroy = _cyb_dlsym(handle, 'nvJitLinkDestroy') 

106  

107 global __nvJitLinkAddData 

108 __nvJitLinkAddData = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkAddData') 

109 if __nvJitLinkAddData == NULL: 

110 if handle == NULL: 

111 handle = load_library() 

112 __nvJitLinkAddData = _cyb_dlsym(handle, 'nvJitLinkAddData') 

113  

114 global __nvJitLinkAddFile 

115 __nvJitLinkAddFile = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkAddFile') 

116 if __nvJitLinkAddFile == NULL: 

117 if handle == NULL: 

118 handle = load_library() 

119 __nvJitLinkAddFile = _cyb_dlsym(handle, 'nvJitLinkAddFile') 

120  

121 global __nvJitLinkComplete 

122 __nvJitLinkComplete = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkComplete') 

123 if __nvJitLinkComplete == NULL: 

124 if handle == NULL: 

125 handle = load_library() 

126 __nvJitLinkComplete = _cyb_dlsym(handle, 'nvJitLinkComplete') 

127  

128 global __nvJitLinkGetLinkedCubinSize 

129 __nvJitLinkGetLinkedCubinSize = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkGetLinkedCubinSize') 

130 if __nvJitLinkGetLinkedCubinSize == NULL: 

131 if handle == NULL: 

132 handle = load_library() 

133 __nvJitLinkGetLinkedCubinSize = _cyb_dlsym(handle, 'nvJitLinkGetLinkedCubinSize') 

134  

135 global __nvJitLinkGetLinkedCubin 

136 __nvJitLinkGetLinkedCubin = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkGetLinkedCubin') 

137 if __nvJitLinkGetLinkedCubin == NULL: 

138 if handle == NULL: 

139 handle = load_library() 

140 __nvJitLinkGetLinkedCubin = _cyb_dlsym(handle, 'nvJitLinkGetLinkedCubin') 

141  

142 global __nvJitLinkGetLinkedPtxSize 

143 __nvJitLinkGetLinkedPtxSize = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkGetLinkedPtxSize') 

144 if __nvJitLinkGetLinkedPtxSize == NULL: 

145 if handle == NULL: 

146 handle = load_library() 2a | } ~ abfbgbhbibnbobpbqbybzbAbBbCb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , IbJbKbi # j vbk c l m d n e o p f q r s t u v w x y z A B C D LbE wbF b G bbcbdbebjbkblbmbrbsbtbubDbEbFbGbHb^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : MbNbObxbH I J K g L M N O P h Q PbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b%b'b

147 __nvJitLinkGetLinkedPtxSize = _cyb_dlsym(handle, 'nvJitLinkGetLinkedPtxSize') 2a | } ~ abfbgbhbibnbobpbqbybzbAbBbCb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , IbJbKbi # j vbk c l m d n e o p f q r s t u v w x y z A B C D LbE wbF b G bbcbdbebjbkblbmbrbsbtbubDbEbFbGbHb^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : MbNbObxbH I J K g L M N O P h Q PbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b%b'b

148  

149 global __nvJitLinkGetLinkedPtx 

150 __nvJitLinkGetLinkedPtx = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkGetLinkedPtx') 

151 if __nvJitLinkGetLinkedPtx == NULL: 

152 if handle == NULL: 

153 handle = load_library() 

154 __nvJitLinkGetLinkedPtx = _cyb_dlsym(handle, 'nvJitLinkGetLinkedPtx') 

155  

156 global __nvJitLinkGetErrorLogSize 

157 __nvJitLinkGetErrorLogSize = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkGetErrorLogSize') 

158 if __nvJitLinkGetErrorLogSize == NULL: 

159 if handle == NULL: 

160 handle = load_library() 

161 __nvJitLinkGetErrorLogSize = _cyb_dlsym(handle, 'nvJitLinkGetErrorLogSize') 

162  

163 global __nvJitLinkGetErrorLog 

164 __nvJitLinkGetErrorLog = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkGetErrorLog') 

165 if __nvJitLinkGetErrorLog == NULL: 

166 if handle == NULL: 

167 handle = load_library() 

168 __nvJitLinkGetErrorLog = _cyb_dlsym(handle, 'nvJitLinkGetErrorLog') 

169  

170 global __nvJitLinkGetInfoLogSize 

171 __nvJitLinkGetInfoLogSize = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkGetInfoLogSize') 

172 if __nvJitLinkGetInfoLogSize == NULL: 

173 if handle == NULL: 

174 handle = load_library() 

175 __nvJitLinkGetInfoLogSize = _cyb_dlsym(handle, 'nvJitLinkGetInfoLogSize') 

176  

177 global __nvJitLinkGetInfoLog 

178 __nvJitLinkGetInfoLog = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkGetInfoLog') 

179 if __nvJitLinkGetInfoLog == NULL: 

180 if handle == NULL: 

181 handle = load_library() 

182 __nvJitLinkGetInfoLog = _cyb_dlsym(handle, 'nvJitLinkGetInfoLog') 

183  

184 global __nvJitLinkVersion 

185 __nvJitLinkVersion = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkVersion') 

186 if __nvJitLinkVersion == NULL: 

187 if handle == NULL: 

188 handle = load_library() 

189 __nvJitLinkVersion = _cyb_dlsym(handle, 'nvJitLinkVersion') 

190  

191 global __nvJitLinkGetLinkedLTOIRSize 

192 __nvJitLinkGetLinkedLTOIRSize = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkGetLinkedLTOIRSize') 

193 if __nvJitLinkGetLinkedLTOIRSize == NULL: 

194 if handle == NULL: 

195 handle = load_library() 

196 __nvJitLinkGetLinkedLTOIRSize = _cyb_dlsym(handle, 'nvJitLinkGetLinkedLTOIRSize') 

197  

198 global __nvJitLinkGetLinkedLTOIR 

199 __nvJitLinkGetLinkedLTOIR = _cyb_dlsym(_cyb_RTLD_DEFAULT, 'nvJitLinkGetLinkedLTOIR') 

200 if __nvJitLinkGetLinkedLTOIR == NULL: 

201 if handle == NULL: 

202 handle = load_library() 

203 __nvJitLinkGetLinkedLTOIR = _cyb_dlsym(handle, 'nvJitLinkGetLinkedLTOIR') 

204  

205 _cyb_atomic_int_store(<int *>&_cyb___py_nvjitlink_init, 1) 

206 return 0 

207  

208cdef inline int _check_or_init_nvjitlink() except -1 nogil: 

209 if _cyb_atomic_int_load(<int *>&_cyb___py_nvjitlink_init): 2a | } ~ abfbgbhbibnbobpbqbybzbAbBbCb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , IbJbKbi # j vbk c l m d n e o p f q r s t u v w x y z A B C D LbE wbF b G ; = bbcbdbebjbkblbmbrbsbtbubDbEbFbGbHb^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : MbNbObxbH I J K g L M N O P h Q PbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b%b'b

210 return 0 2a | } ~ abfbgbhbibnbobpbqbybzbAbBbCb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , IbJbKbi # j vbk c l m d n e o p f q r s t u v w x y z A B C D LbE wbF b G ; = bbcbdbebjbkblbmbrbsbtbubDbEbFbGbHb^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : MbNbObxbH I J K g L M N O P h Q PbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b%b'b

211  

212 return _init_nvjitlink() 

213  

214  

215cpdef dict _inspect_function_pointers(): 

216 global _cyb_func_ptrs 

217 if _cyb_func_ptrs is not None: 

218 return _cyb_func_ptrs 

219  

220 _check_or_init_nvjitlink() 

221 cdef dict data = {} 

222 global __nvJitLinkCreate 

223 data["__nvJitLinkCreate"] = <intptr_t>__nvJitLinkCreate 

224  

225 global __nvJitLinkDestroy 

226 data["__nvJitLinkDestroy"] = <intptr_t>__nvJitLinkDestroy 

227  

228 global __nvJitLinkAddData 

229 data["__nvJitLinkAddData"] = <intptr_t>__nvJitLinkAddData 2a | } ~ abfbgbhbibnbobpbqbybzbAbBbCb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , IbKbi # j vbk c l m d n e o p f q r s t u v w x y z A B C D LbE wbF b G bbcbdbebjbkblbmbrbsbtbubDbEbFbGbHb^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : MbObxbH I J K g L M N O P h Q

230  

231 global __nvJitLinkAddFile 

232 data["__nvJitLinkAddFile"] = <intptr_t>__nvJitLinkAddFile 

233  

234 global __nvJitLinkComplete 

235 data["__nvJitLinkComplete"] = <intptr_t>__nvJitLinkComplete 

236  

237 global __nvJitLinkGetLinkedCubinSize 

238 data["__nvJitLinkGetLinkedCubinSize"] = <intptr_t>__nvJitLinkGetLinkedCubinSize 

239  

240 global __nvJitLinkGetLinkedCubin 

241 data["__nvJitLinkGetLinkedCubin"] = <intptr_t>__nvJitLinkGetLinkedCubin 

242  

243 global __nvJitLinkGetLinkedPtxSize 

244 data["__nvJitLinkGetLinkedPtxSize"] = <intptr_t>__nvJitLinkGetLinkedPtxSize 

245  

246 global __nvJitLinkGetLinkedPtx 

247 data["__nvJitLinkGetLinkedPtx"] = <intptr_t>__nvJitLinkGetLinkedPtx 

248  

249 global __nvJitLinkGetErrorLogSize 

250 data["__nvJitLinkGetErrorLogSize"] = <intptr_t>__nvJitLinkGetErrorLogSize 2a | } ~ abR S T U 7 8 9 ! V W X Y ) * + , i # j vbk c l m d n e o p f q r s t u v w x y z A B C D E wbF b G bbcbdbebZ 0 1 2 $ % ' ( 3 4 5 6 - . / : xbH I J K g L M N O P h Q

251  

252 global __nvJitLinkGetErrorLog 

253 data["__nvJitLinkGetErrorLog"] = <intptr_t>__nvJitLinkGetErrorLog 2a | } ~ abR S T U 7 8 9 ! V W X Y ) * + , i # j vbk c l m d n e o p f q r s t u v w x y z A B C D E wbF b G bbcbdbebZ 0 1 2 $ % ' ( 3 4 5 6 - . / : xbH I J K g L M N O P h Q

254  

255 global __nvJitLinkGetInfoLogSize 

256 data["__nvJitLinkGetInfoLogSize"] = <intptr_t>__nvJitLinkGetInfoLogSize 

257  

258 global __nvJitLinkGetInfoLog 

259 data["__nvJitLinkGetInfoLog"] = <intptr_t>__nvJitLinkGetInfoLog 2a fbgbhbibjbkblbmb

260  

261 global __nvJitLinkVersion 

262 data["__nvJitLinkVersion"] = <intptr_t>__nvJitLinkVersion 

263  

264 global __nvJitLinkGetLinkedLTOIRSize 

265 data["__nvJitLinkGetLinkedLTOIRSize"] = <intptr_t>__nvJitLinkGetLinkedLTOIRSize 

266  

267 global __nvJitLinkGetLinkedLTOIR 

268 data["__nvJitLinkGetLinkedLTOIR"] = <intptr_t>__nvJitLinkGetLinkedLTOIR 

269 _cyb_func_ptrs = data 2a | } ~ abfbgbhbibnbobpbqb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , i # j k c l m d n e o p f q r s t u v w x y z A B C D E F b G bbcbdbebjbkblbmbrbsbtbub^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : H I J K g L M N O P h Q

270 return data 2a | } ~ abfbgbhbibnbobpbqb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , i # j k c l m d n e o p f q r s t u v w x y z A B C D E F b G bbcbdbebjbkblbmbrbsbtbub^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : H I J K g L M N O P h Q

271  

272  

273cpdef _inspect_function_pointer(str name): 2a | } ~ abfbgbhbibnbobpbqb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , i # j k c l m d n e o p f q r s t u v w x y z A B C D E F b G bbcbdbebjbkblbmbrbsbtbub^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : H I J K g L M N O P h Q

274 global _cyb_func_ptrs 

275 if _cyb_func_ptrs is None: 

276 _cyb_func_ptrs = _inspect_function_pointers() 

277 return _cyb_func_ptrs[name] 

278  

279  

280  

281  

282cdef void* load_library() except* with gil: 

283 cdef uintptr_t handle = load_nvidia_dynamic_lib("nvJitLink")._handle_uint 1a789!ijkclmdneopfqrstuvwxyzABCDEFG$%'(HIJKgLMNOPhQ

284 return <void*>handle 

285  

286  

287############################################################################### 

288# Wrapper functions 

289############################################################################### 

290  

291cdef nvJitLinkResult _nvJitLinkCreate(nvJitLinkHandle* handle, uint32_t numOptions, const char** options) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

292 global __nvJitLinkCreate 

293 _check_or_init_nvjitlink() 2| } ~ abfbgbhbibnbobpbqbybzbAbBbCb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , IbKbi # j vbk c l m d n e o p f q r s t u v w x y z A B C D LbE wbF b G ; = bbcbdbebjbkblbmbrbsbtbubDbEbFbGbHb^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : MbObxbH I J K g L M N O P h Q

294 if __nvJitLinkCreate == NULL: 2| } ~ abfbgbhbibnbobpbqbybzbAbBbCb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , IbKbi # j vbk c l m d n e o p f q r s t u v w x y z A B C D LbE wbF b G ; = bbcbdbebjbkblbmbrbsbtbubDbEbFbGbHb^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : MbObxbH I J K g L M N O P h Q

295 with gil: 

296 raise FunctionNotFoundError("function nvJitLinkCreate is not found") 

297 return (<nvJitLinkResult (*)(nvJitLinkHandle*, uint32_t, const char**) noexcept nogil>__nvJitLinkCreate)( 2a | } ~ abfbgbhbibnbobpbqbybzbAbBbCb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , IbKbi # j vbk c l m d n e o p f q r s t u v w x y z A B C D LbE wbF b G ; = bbcbdbebjbkblbmbrbsbtbubDbEbFbGbHb^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : MbObxbH I J K g L M N O P h Q

298 handle, numOptions, options) 

299  

300  

301cdef nvJitLinkResult _nvJitLinkDestroy(nvJitLinkHandle* handle) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

302 global __nvJitLinkDestroy 

303 _check_or_init_nvjitlink() 2| } ~ abfbgbhbibnbobpbqbybzbAbBbCb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , i # j vbk c l m d n e o p f q r s t u v w x y z A B C D E wbF b G ; = bbcbdbebjbkblbmbrbsbtbubDbEbFbGbHb^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : xbH I J K g L M N O P h Q

304 if __nvJitLinkDestroy == NULL: 2| } ~ abfbgbhbibnbobpbqbybzbAbBbCb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , i # j vbk c l m d n e o p f q r s t u v w x y z A B C D E wbF b G ; = bbcbdbebjbkblbmbrbsbtbubDbEbFbGbHb^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : xbH I J K g L M N O P h Q

305 with gil: 

306 raise FunctionNotFoundError("function nvJitLinkDestroy is not found") 

307 return (<nvJitLinkResult (*)(nvJitLinkHandle*) noexcept nogil>__nvJitLinkDestroy)( 2a | } ~ abfbgbhbibnbobpbqbybzbAbBbCb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , i # j vbk c l m d n e o p f q r s t u v w x y z A B C D E wbF b G ; = bbcbdbebjbkblbmbrbsbtbubDbEbFbGbHb^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : xbH I J K g L M N O P h Q

308 handle) 

309  

310  

311cdef nvJitLinkResult _nvJitLinkAddData(nvJitLinkHandle handle, nvJitLinkInputType inputType, const void* data, size_t size, const char* name) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

312 global __nvJitLinkAddData 

313 _check_or_init_nvjitlink() 2| } ~ abR S T U 7 8 9 ! V W X Y ) * + , i # j vbk c l m d n e o p f q r s t u v w x y z A B C D E wbF b G ; = bbcbdbebZ 0 1 2 $ % ' ( 3 4 5 6 - . / : xbH I J K g L M N O P h Q

314 if __nvJitLinkAddData == NULL: 2| } ~ abR S T U 7 8 9 ! V W X Y ) * + , i # j vbk c l m d n e o p f q r s t u v w x y z A B C D E wbF b G ; = bbcbdbebZ 0 1 2 $ % ' ( 3 4 5 6 - . / : xbH I J K g L M N O P h Q

315 with gil: 

316 raise FunctionNotFoundError("function nvJitLinkAddData is not found") 

317 return (<nvJitLinkResult (*)(nvJitLinkHandle, nvJitLinkInputType, const void*, size_t, const char*) noexcept nogil>__nvJitLinkAddData)( 2a | } ~ abR S T U 7 8 9 ! V W X Y ) * + , i # j vbk c l m d n e o p f q r s t u v w x y z A B C D E wbF b G ; = bbcbdbebZ 0 1 2 $ % ' ( 3 4 5 6 - . / : xbH I J K g L M N O P h Q

318 handle, inputType, data, size, name) 

319  

320  

321cdef nvJitLinkResult _nvJitLinkAddFile(nvJitLinkHandle handle, nvJitLinkInputType inputType, const char* fileName) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

322 global __nvJitLinkAddFile 

323 _check_or_init_nvjitlink() 2fbgbhbib? @ [ ] i # j k c l m d n e o p f q r s t u v w x y z A B C D E F b G jbkblbmb^ _ ` { H I J K g L M N O P h Q

324 if __nvJitLinkAddFile == NULL: 2fbgbhbibjbkblbmb

325 with gil: 

326 raise FunctionNotFoundError("function nvJitLinkAddFile is not found") 

327 return (<nvJitLinkResult (*)(nvJitLinkHandle, nvJitLinkInputType, const char*) noexcept nogil>__nvJitLinkAddFile)( 2a fbgbhbibjbkblbmb

328 handle, inputType, fileName) 

329  

330  

331cdef nvJitLinkResult _nvJitLinkComplete(nvJitLinkHandle handle) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

332 global __nvJitLinkComplete 

333 _check_or_init_nvjitlink() 2| } ~ abfbgbhbibnbobpbqb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , i # j k c l m d n e o p f q r s t u v w x y z A B C D E F b G ; = bbcbdbebjbkblbmbrbsbtbub^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : H I J K g L M N O P h Q

334 if __nvJitLinkComplete == NULL: 2| } ~ abfbgbhbibnbobpbqb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , i # j k c l m d n e o p f q r s t u v w x y z A B C D E F b G ; = bbcbdbebjbkblbmbrbsbtbub^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : H I J K g L M N O P h Q

335 with gil: 

336 raise FunctionNotFoundError("function nvJitLinkComplete is not found") 

337 return (<nvJitLinkResult (*)(nvJitLinkHandle) noexcept nogil>__nvJitLinkComplete)( 2a | } ~ abfbgbhbibnbobpbqb? @ [ ] R S T U 7 8 9 ! V W X Y ) * + , i # j k c l m d n e o p f q r s t u v w x y z A B C D E F b G ; = bbcbdbebjbkblbmbrbsbtbub^ _ ` { Z 0 1 2 $ % ' ( 3 4 5 6 - . / : H I J K g L M N O P h Q

338 handle) 

339  

340  

341cdef nvJitLinkResult _nvJitLinkGetLinkedCubinSize(nvJitLinkHandle handle, size_t* size) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

342 global __nvJitLinkGetLinkedCubinSize 

343 _check_or_init_nvjitlink() 1RSTU789!ijkclmdneopfqrstuvwxyzABCDEFbG;=Z012$%'(HIJKgLMNOPhQ

344 if __nvJitLinkGetLinkedCubinSize == NULL: 1789!ijkclmdneopfqrstuvwxyzABCDEFG;=$%'(HIJKgLMNOPhQ

345 with gil: 

346 raise FunctionNotFoundError("function nvJitLinkGetLinkedCubinSize is not found") 

347 return (<nvJitLinkResult (*)(nvJitLinkHandle, size_t*) noexcept nogil>__nvJitLinkGetLinkedCubinSize)( 1a789!ijkclmdneopfqrstuvwxyzABCDEFG;=$%'(HIJKgLMNOPhQ

348 handle, size) 

349  

350  

351cdef nvJitLinkResult _nvJitLinkGetLinkedCubin(nvJitLinkHandle handle, void* cubin) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

352 global __nvJitLinkGetLinkedCubin 

353 _check_or_init_nvjitlink() 1RSTU789!ijkclmdneopfqrstuvwxyzABCDEFbG;=Z012$%'(HIJKgLMNOPhQ

354 if __nvJitLinkGetLinkedCubin == NULL: 1789!ijkclmdneopfqrstuvwxyzABCDEFG;=$%'(HIJKgLMNOPhQ

355 with gil: 

356 raise FunctionNotFoundError("function nvJitLinkGetLinkedCubin is not found") 

357 return (<nvJitLinkResult (*)(nvJitLinkHandle, void*) noexcept nogil>__nvJitLinkGetLinkedCubin)( 1a789!ijkclmdneopfqrstuvwxyzABCDEFG;=$%'(HIJKgLMNOPhQ

358 handle, cubin) 

359  

360  

361cdef nvJitLinkResult _nvJitLinkGetLinkedPtxSize(nvJitLinkHandle handle, size_t* size) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

362 global __nvJitLinkGetLinkedPtxSize 

363 _check_or_init_nvjitlink() 2a ) * + , Jbb - . / : NbPbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b%b'b

364 if __nvJitLinkGetLinkedPtxSize == NULL: 1)*+,b-./:

365 with gil: 

366 raise FunctionNotFoundError("function nvJitLinkGetLinkedPtxSize is not found") 

367 return (<nvJitLinkResult (*)(nvJitLinkHandle, size_t*) noexcept nogil>__nvJitLinkGetLinkedPtxSize)( 1a)*+,b-./:

368 handle, size) 

369  

370  

371cdef nvJitLinkResult _nvJitLinkGetLinkedPtx(nvJitLinkHandle handle, char* ptx) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

372 global __nvJitLinkGetLinkedPtx 

373 _check_or_init_nvjitlink() 1VWXY)*+,b3456-./:

374 if __nvJitLinkGetLinkedPtx == NULL: 1)*+,b-./:

375 with gil: 

376 raise FunctionNotFoundError("function nvJitLinkGetLinkedPtx is not found") 

377 return (<nvJitLinkResult (*)(nvJitLinkHandle, char*) noexcept nogil>__nvJitLinkGetLinkedPtx)( 1a)*+,b-./:

378 handle, ptx) 

379  

380  

381cdef nvJitLinkResult _nvJitLinkGetErrorLogSize(nvJitLinkHandle handle, size_t* size) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

382 global __nvJitLinkGetErrorLogSize 

383 _check_or_init_nvjitlink() 1?@[]VWXYi#jkclmdneopfqrstuvwxyzABCDEFbG;=^_`{3456HIJKgLMNOPhQ

384 if __nvJitLinkGetErrorLogSize == NULL: 1?@[]i#jkclmdneopfqrstuvwxyzABCDEFbG;=^_`{HIJKgLMNOPhQ

385 with gil: 

386 raise FunctionNotFoundError("function nvJitLinkGetErrorLogSize is not found") 

387 return (<nvJitLinkResult (*)(nvJitLinkHandle, size_t*) noexcept nogil>__nvJitLinkGetErrorLogSize)( 1?@[]i#jkclmdneopfqrstuvwxyzABCDEFbG;=^_`{HIJKgLMNOPhQ

388 handle, size) 

389  

390  

391cdef nvJitLinkResult _nvJitLinkGetErrorLog(nvJitLinkHandle handle, char* log) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

392 global __nvJitLinkGetErrorLog 

393 _check_or_init_nvjitlink() 1?@[]#^_`{

394 if __nvJitLinkGetErrorLog == NULL: 1?@[]#^_`{

395 with gil: 

396 raise FunctionNotFoundError("function nvJitLinkGetErrorLog is not found") 

397 return (<nvJitLinkResult (*)(nvJitLinkHandle, char*) noexcept nogil>__nvJitLinkGetErrorLog)( 1?@[]#^_`{

398 handle, log) 

399  

400  

401cdef nvJitLinkResult _nvJitLinkGetInfoLogSize(nvJitLinkHandle handle, size_t* size) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

402 global __nvJitLinkGetInfoLogSize 

403 _check_or_init_nvjitlink() 1RSTUijkclmdneopfqrstuvwxyzABCDEFbG;=Z012HIJKgLMNOPhQ

404 if __nvJitLinkGetInfoLogSize == NULL: 1RSTUijkclmdneopfqrstuvwxyzABCDEFbG;=Z012HIJKgLMNOPhQ

405 with gil: 

406 raise FunctionNotFoundError("function nvJitLinkGetInfoLogSize is not found") 

407 return (<nvJitLinkResult (*)(nvJitLinkHandle, size_t*) noexcept nogil>__nvJitLinkGetInfoLogSize)( 1RSTUijkclmdneopfqrstuvwxyzABCDEFbG;=Z012HIJKgLMNOPhQ

408 handle, size) 

409  

410  

411cdef nvJitLinkResult _nvJitLinkGetInfoLog(nvJitLinkHandle handle, char* log) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

412 global __nvJitLinkGetInfoLog 

413 _check_or_init_nvjitlink() 1RSTUcdefbZ012gh

414 if __nvJitLinkGetInfoLog == NULL: 1RSTUcdefbZ012gh

415 with gil: 

416 raise FunctionNotFoundError("function nvJitLinkGetInfoLog is not found") 

417 return (<nvJitLinkResult (*)(nvJitLinkHandle, char*) noexcept nogil>__nvJitLinkGetInfoLog)( 1RSTUcdefbZ012gh

418 handle, log) 

419  

420  

421cdef nvJitLinkResult _nvJitLinkVersion(unsigned int* major, unsigned int* minor) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

422 global __nvJitLinkVersion 

423 _check_or_init_nvjitlink() 2a JbNbPbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b%b'b

424 if __nvJitLinkVersion == NULL: 2a JbNbPbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b%b'b

425 with gil: 

426 raise FunctionNotFoundError("function nvJitLinkVersion is not found") 

427 return (<nvJitLinkResult (*)(unsigned int*, unsigned int*) noexcept nogil>__nvJitLinkVersion)( 2a JbNbPbQbRbSbTbUbVbWbXbYbZb0b1b2b3b4b5b6b7b8b9b!b#b$b%b'b

428 major, minor) 

429  

430  

431cdef nvJitLinkResult _nvJitLinkGetLinkedLTOIRSize(nvJitLinkHandle handle, size_t* size) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

432 global __nvJitLinkGetLinkedLTOIRSize 

433 _check_or_init_nvjitlink() 1VWXY3456

434 if __nvJitLinkGetLinkedLTOIRSize == NULL: 1VWXY3456

435 with gil: 

436 raise FunctionNotFoundError("function nvJitLinkGetLinkedLTOIRSize is not found") 

437 return (<nvJitLinkResult (*)(nvJitLinkHandle, size_t*) noexcept nogil>__nvJitLinkGetLinkedLTOIRSize)( 1VWXY3456

438 handle, size) 

439  

440  

441cdef nvJitLinkResult _nvJitLinkGetLinkedLTOIR(nvJitLinkHandle handle, void* ltoir) except?_NVJITLINKRESULT_INTERNAL_LOADING_ERROR nogil: 

442 global __nvJitLinkGetLinkedLTOIR 

443 _check_or_init_nvjitlink() 1VWXY3456

444 if __nvJitLinkGetLinkedLTOIR == NULL: 1VWXY3456

445 with gil: 

446 raise FunctionNotFoundError("function nvJitLinkGetLinkedLTOIR is not found") 

447 return (<nvJitLinkResult (*)(nvJitLinkHandle, void*) noexcept nogil>__nvJitLinkGetLinkedLTOIR)( 1VWXY3456

448 handle, ltoir)