# Copyright 2021-2024 NVIDIA Corporation. All rights reserved. # # Please refer to the NVIDIA end user license agreement (EULA) associated # with this source code for terms and conditions that govern your use of # this software. Any use, reproduction, disclosure, or distribution of # this software and related documentation outside the terms of the EULA # is strictly prohibited. cimport cuda._cuda.cnvrtc as cnvrtc {{if 'nvrtcGetErrorString' in found_functions}} cdef const char* nvrtcGetErrorString(nvrtcResult result) except ?NULL nogil: return cnvrtc._nvrtcGetErrorString(result) {{endif}} {{if 'nvrtcVersion' in found_functions}} cdef nvrtcResult nvrtcVersion(int* major, int* minor) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcVersion(major, minor) {{endif}} {{if 'nvrtcGetNumSupportedArchs' in found_functions}} cdef nvrtcResult nvrtcGetNumSupportedArchs(int* numArchs) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetNumSupportedArchs(numArchs) {{endif}} {{if 'nvrtcGetSupportedArchs' in found_functions}} cdef nvrtcResult nvrtcGetSupportedArchs(int* supportedArchs) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetSupportedArchs(supportedArchs) {{endif}} {{if 'nvrtcCreateProgram' in found_functions}} cdef nvrtcResult nvrtcCreateProgram(nvrtcProgram* prog, const char* src, const char* name, int numHeaders, const char** headers, const char** includeNames) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcCreateProgram(prog, src, name, numHeaders, headers, includeNames) {{endif}} {{if 'nvrtcDestroyProgram' in found_functions}} cdef nvrtcResult nvrtcDestroyProgram(nvrtcProgram* prog) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcDestroyProgram(prog) {{endif}} {{if 'nvrtcCompileProgram' in found_functions}} cdef nvrtcResult nvrtcCompileProgram(nvrtcProgram prog, int numOptions, const char** options) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcCompileProgram(prog, numOptions, options) {{endif}} {{if 'nvrtcGetPTXSize' in found_functions}} cdef nvrtcResult nvrtcGetPTXSize(nvrtcProgram prog, size_t* ptxSizeRet) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetPTXSize(prog, ptxSizeRet) {{endif}} {{if 'nvrtcGetPTX' in found_functions}} cdef nvrtcResult nvrtcGetPTX(nvrtcProgram prog, char* ptx) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetPTX(prog, ptx) {{endif}} {{if 'nvrtcGetCUBINSize' in found_functions}} cdef nvrtcResult nvrtcGetCUBINSize(nvrtcProgram prog, size_t* cubinSizeRet) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetCUBINSize(prog, cubinSizeRet) {{endif}} {{if 'nvrtcGetCUBIN' in found_functions}} cdef nvrtcResult nvrtcGetCUBIN(nvrtcProgram prog, char* cubin) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetCUBIN(prog, cubin) {{endif}} {{if 'nvrtcGetNVVMSize' in found_functions}} cdef nvrtcResult nvrtcGetNVVMSize(nvrtcProgram prog, size_t* nvvmSizeRet) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetNVVMSize(prog, nvvmSizeRet) {{endif}} {{if 'nvrtcGetNVVM' in found_functions}} cdef nvrtcResult nvrtcGetNVVM(nvrtcProgram prog, char* nvvm) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetNVVM(prog, nvvm) {{endif}} {{if 'nvrtcGetLTOIRSize' in found_functions}} cdef nvrtcResult nvrtcGetLTOIRSize(nvrtcProgram prog, size_t* LTOIRSizeRet) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetLTOIRSize(prog, LTOIRSizeRet) {{endif}} {{if 'nvrtcGetLTOIR' in found_functions}} cdef nvrtcResult nvrtcGetLTOIR(nvrtcProgram prog, char* LTOIR) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetLTOIR(prog, LTOIR) {{endif}} {{if 'nvrtcGetOptiXIRSize' in found_functions}} cdef nvrtcResult nvrtcGetOptiXIRSize(nvrtcProgram prog, size_t* optixirSizeRet) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetOptiXIRSize(prog, optixirSizeRet) {{endif}} {{if 'nvrtcGetOptiXIR' in found_functions}} cdef nvrtcResult nvrtcGetOptiXIR(nvrtcProgram prog, char* optixir) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetOptiXIR(prog, optixir) {{endif}} {{if 'nvrtcGetProgramLogSize' in found_functions}} cdef nvrtcResult nvrtcGetProgramLogSize(nvrtcProgram prog, size_t* logSizeRet) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetProgramLogSize(prog, logSizeRet) {{endif}} {{if 'nvrtcGetProgramLog' in found_functions}} cdef nvrtcResult nvrtcGetProgramLog(nvrtcProgram prog, char* log) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetProgramLog(prog, log) {{endif}} {{if 'nvrtcAddNameExpression' in found_functions}} cdef nvrtcResult nvrtcAddNameExpression(nvrtcProgram prog, const char* name_expression) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcAddNameExpression(prog, name_expression) {{endif}} {{if 'nvrtcGetLoweredName' in found_functions}} cdef nvrtcResult nvrtcGetLoweredName(nvrtcProgram prog, const char* name_expression, const char** lowered_name) except ?NVRTC_ERROR_INVALID_INPUT nogil: return cnvrtc._nvrtcGetLoweredName(prog, name_expression, lowered_name) {{endif}}