cuda-api-wrappers icon indicating copy to clipboard operation
cuda-api-wrappers copied to clipboard

About cuLibraryLoadFromFile

Open CallmeZhangChenchen opened this issue 1 year ago • 1 comments

Hi! Thank you for your great work.

Do you have a call method with this function? It seems to be used in a different way in the warehouse. That's all I could find.

// Load library
cuLibraryLoadFromFile(&library,“myModule.cubin”, …);
cuLibraryGetKernel(&kernel, library, “myKernel”);
[CUresult](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1gc6c391505e117393cc2558fff6bfc2e9) cuLibraryLoadFromFile ( [CUlibrary](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1gb3c679dac8f1ce28d437bedd0fc907d7)* library, const char* fileName, [CUjit_option](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1g5527fa8030d5cabedc781a04dbd1997d)* jitOptions, void** jitOptionsValues, unsigned int  numJitOptions, [CUlibraryOption](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1g8a1cdb7004bb8a24f1342de9004add23)* libraryOptions, void** libraryOptionValues, unsigned int  numLibraryOptions )
Load a library with specified file and options.
Parameters
library
- Returned library
fileName
- File to load from
jitOptions
- Options for JIT
jitOptionsValues
- Option values for JIT
numJitOptions
- Number of options
libraryOptions
- Options for loading
libraryOptionValues
- Option values for loading
numLibraryOptions
- Number of options for loading
Returns
[CUDA_SUCCESS](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1ggc6c391505e117393cc2558fff6bfc2e9a0eed720f8a87cd1c5fd1c453bc7a03d), [CUDA_ERROR_DEINITIALIZED](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1ggc6c391505e117393cc2558fff6bfc2e9acf52f132faf29b473cdda6061f0f44a), [CUDA_ERROR_NOT_INITIALIZED](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1ggc6c391505e117393cc2558fff6bfc2e98feb999f0af99b4a25ab26b3866f4df8), [CUDA_ERROR_INVALID_VALUE](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1ggc6c391505e117393cc2558fff6bfc2e990696c86fcee1f536a1ec7d25867feeb), [CUDA_ERROR_INVALID_PTX](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1ggc6c391505e117393cc2558fff6bfc2e9a5bb7f216af3efbea2116ff18253b1a3), [CUDA_ERROR_UNSUPPORTED_PTX_VERSION](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1ggc6c391505e117393cc2558fff6bfc2e98381092e26bfe660cef4a755bb549610), [CUDA_ERROR_OUT_OF_MEMORY](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1ggc6c391505e117393cc2558fff6bfc2e9264c50688ed110e8476b591befe60c02), [CUDA_ERROR_NO_BINARY_FOR_GPU](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1ggc6c391505e117393cc2558fff6bfc2e94ef545ed5f461db9351f98de98497abf), [CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1ggc6c391505e117393cc2558fff6bfc2e95ab6c0086a6130b5b895ff15ce841ee6), [CUDA_ERROR_SHARED_OBJECT_INIT_FAILED](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1ggc6c391505e117393cc2558fff6bfc2e9d8a149ebc98aa90f6417e531fa645043), [CUDA_ERROR_JIT_COMPILER_NOT_FOUND](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1ggc6c391505e117393cc2558fff6bfc2e91e1b93d0f27e74d6a9e9e16f410542c6)

Description
Takes a filename fileName and loads the corresponding library library into all contexts existent at the time of the call and future contexts at the time of creation until the library is unloaded with [cuLibraryUnload()](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__LIBRARY.html#group__CUDA__LIBRARY_1g24969cb24138171edf465bc8669d5914).

The file should be a cubin file as output by nvcc, or a PTX file either as output by nvcc or handwritten, or a fatbin file as output by nvcc from toolchain 4.0 or later.

Options are passed as an array via jitOptions and any corresponding parameters are passed in jitOptionsValues. The number of total options is supplied via numJitOptions. Any outputs will be returned via jitOptionsValues.

Library load options are passed as an array via libraryOptions and any corresponding parameters are passed in libraryOptionValues. The number of total library load options is supplied via numLibraryOptions.

See also:

[cuLibraryLoadData](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__LIBRARY.html#group__CUDA__LIBRARY_1g957f12ff5af4166f43c89d17cfb0a74d), [cuLibraryUnload](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__LIBRARY.html#group__CUDA__LIBRARY_1g24969cb24138171edf465bc8669d5914), [cuModuleLoad](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__MODULE.html#group__CUDA__MODULE_1g366093bd269dafd0af21f1c7d18115d3), [cuModuleLoadData](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__MODULE.html#group__CUDA__MODULE_1g04ce266ce03720f479eab76136b90c0b), [cuModuleLoadDataEx](https://docs.nvidia.com/cuda/archive/12.2.0/cuda-driver-api/group__CUDA__MODULE.html#group__CUDA__MODULE_1g9e8047e9dbf725f0cd7cafd18bfd4d12)

CallmeZhangChenchen avatar Sep 30 '24 02:09 CallmeZhangChenchen