cupy.RawModule¶
-
class
cupy.RawModule(code=None, *, path=None, options=(), backend=u'nvrtc', translate_cucomplex=False)¶ User-defined custom module.
This class can be used to either compile raw CUDA sources or load CUDA modules (*.cubin). This class is useful when a number of CUDA kernels in the same source need to be retrieved.
For the former case, the CUDA source code is compiled when initializing a new instance of this class, and the kernels can be retrieved by calling
get_function(), which will return an instance ofRawKernel. (Same as inRawKernel, the generated binary is also cached.)For the latter case, an existing CUDA binary (*.cubin) can be loaded by providing its path, and kernels therein can be retrieved similarly.
Parameters: - code (str) – CUDA source code. Mutually exclusive with
path. - path (str) – Path to cubin/ptx. Mutually exclusive with
code. - options (tuple of str) – Compiler options passed to the backend (NVRTC or NVCC). For details, see https://docs.nvidia.com/cuda/nvrtc/index.html#group__options or https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#command-option-description
- backend (str) – Either nvrtc or nvcc. Defaults to nvrtc
- translate_cucomplex (bool) – Whether the CUDA source includes the header
cuComplex.h or not. If set to
True, any code that uses the functions from cuComplex.h will be translated to its Thrust counterpart. Defaults toFalse.
Note
Each kernel in
RawModulepossesses independent function attributes.Methods
-
get_function(self, name)¶ Retrieve a CUDA kernel by its name from the module.
Parameters: name (str) – Name of the kernel function. Returns: An RawKernelinstance.Return type: RawKernel
-
get_texref(self, name)¶ Retrieve a texture reference by its name from the module.
Parameters: name (str) – Name of the texture reference. Returns: A CUtexrefhandle, to be passed toTextureReference.Return type: intptr_t
Attributes
-
backend¶
-
code¶
-
cubin_path¶
-
options¶
- code (str) – CUDA source code. Mutually exclusive with