class pycuda.compiler.
SourceModule
(source,nvcc =“nvcc”,options = None,keep = False,no_extern_c = False,arch = None,code = None,cache_dir = None,include_dirs = [] )
Module
从CUDA源代码源创建一个。Nvidia编译器nvcc被认为是在PATH
如果没有指定它的路径,并使用选项来调用代码。如果keep为 True,则保留编译器输出目录,并打印一行指示其在文件系统中的位置以进行调试。
除非no_extern_c为True,否则给定的源代码将包含在 extern“C”{...}中,以防止C ++名称损坏。
arch和code指定要为nvcc命令行上的-arch
和-code
选项传递的值。如果arch为None,则默认为当前上下文的设备的计算能力。如果代码为None,则不会指定。
cache_dir给出了用于编译器缓存的目录。如果为None, 则认为是cache_dirPYCUDA_CACHE_DIR
如果设置或合理的每用户默认值。如果传递为False,则禁用缓存。
如果是环境变量 PYCUDA_DISABLE_CACHE
设置为任何值,然后禁用缓存。此首选项会覆盖cache_dir的任何值,并可用于全局禁用缓存。
此类显示相同的公共接口pycuda.driver.Module
,但不继承它。
更改注: SourceModule
从移动pycuda.driver
到 pycuda.compiler
在0.93版本。
compile(source, nvcc="nvcc", options=None, keep=False,
no_extern_c=False, arch=None, code=None, cache_dir=None,
include_dirs=[])
执行与相应SourceModule
构造函数相同的编译 ,但只返回生成的cubin文件作为字符串。特别是,不要将代码上传到GPU。