我对python和PYCUDA很陌生。
在许多PYCUDA的例子中,我可以找到这样的代码:
import pycuda.driver as cuda
cuda.mem_alloc(a.nbytes)
但是,当我查看pycuda/driver.py时,我无法找到定义mem_alloc的位置。
我只能找到mem_alloc_like,它调用mem_alloc():
def mem_alloc_like(ary):
return mem_alloc(ary.nbytes)
这告诉我,mem_alloc必须在库中的某个地方,driver.py导入。
但是,下面是我在driver.py中找到的导入,6个、numpy或sys中没有一个函数名为"mem_alloc()“
from __future__ import absolute_import
from __future__ import print_function
import six
try:
from pycuda._driver import * # noqa
except ImportError as e:
if "_v2" in str(e):
from warnings import warn
warn("Failed to import the CUDA driver interface, with an error "
"message indicating that the version of your CUDA header "
"does not match the version of your CUDA driver.")
raise
import numpy as np
import sys
发布于 2018-08-23 01:24:19
pyCUDA是CUDA驱动程序API的包装器。这就是pyCUDA公开这些APIs的方式。
_driver.so
。from pycuda._driver import *
。但是,当我查看pycuda/driver.py时,我无法找到定义mem_alloc的位置。
它在pycuda/src/cpp/cuda.hpp
中定义。
https://stackoverflow.com/questions/51980087
复制相似问题