我对python和PYCUDA还不熟悉。你知道吗
在许多PYCUDA示例中,我可以找到如下代码:
import pycuda.driver as cuda
cuda.mem_alloc(a.nbytes)
但当我看皮库达的时候/驱动程序.py,我找不到mem\u alloc的定义。你知道吗
我只能找到mem\u alloc\u like,它调用mem\u alloc():
def mem_alloc_like(ary):
return mem_alloc(ary.nbytes)
这告诉我mem\u alloc肯定在图书馆的某个地方驱动程序.py进口。你知道吗
但是,以下是我在中发现的导入驱动程序.py,六个、numpy或sys都没有名为“mem\u 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
pyCUDA是CUDA驱动程序API的包装器。pyCUDA就是这样公开这些api的
在C/C++ +
使用Boost::python将这些函数公开给python,因为python 解释器是用C语言实现的(Cpython)
将这些包装器编译到
_driver.so
导入共享库
from pycuda._driver import *
。它在
pycuda/src/cpp/cuda.hpp
中定义相关问题 更多 >
编程相关推荐