pycuda-即时编译

class pycuda.compiler.SourceModulesourcenvcc =“nvcc”options = Nonekeep = Falseno_extern_c = Falsearch = Nonecode = Nonecache_dir = Noneinclude_dirs = [] 

Module从CUDA源代码创建一个。Nvidia编译器nvcc被认为是在PATH如果没有指定它的路径,并使用选项来调用代码。如果keep为 True,则保留编译器输出目录,并打印一行指示其在文件系统中的位置以进行调试。

除非no_extern_cTrue,否则给定的源代码将包含在 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。

猜你喜欢

转载自blog.csdn.net/qq_36387683/article/details/81079278
今日推荐