pycuda.driver.mem_alloc() 在哪里?在 pycuda/driver.py 我只能找到 mem_alloc_like()
Where is pycuda.driver.mem_alloc() ? In pycuda/driver.py I can only find mem_alloc_like()
我是 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 中找到的导入,并且 none of six, numpy, or 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
pyCUDA 是 CUDA 驱动程序的包装器 API。这就是 pyCUDA 公开那些 APIs
的方式
在 C/C++ 中围绕驱动程序 API 编写包装器
使用 Boost::python 将这些函数公开给 python 因为 python
解释器在 C(Cpython)
中实现
将这些包装器编译成一个共享库,即 _driver.so
导入 from pycuda._driver import *
.
的共享库
But when I take a look into pycuda/driver.py, I can't find where mem_alloc is defined.
定义在pycuda/src/cpp/cuda.hpp
我是 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 中找到的导入,并且 none of six, numpy, or 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
pyCUDA 是 CUDA 驱动程序的包装器 API。这就是 pyCUDA 公开那些 APIs
的方式在 C/C++ 中围绕驱动程序 API 编写包装器
使用 Boost::python 将这些函数公开给 python 因为 python 解释器在 C(Cpython)
中实现
将这些包装器编译成一个共享库,即
_driver.so
导入
from pycuda._driver import *
. 的共享库
But when I take a look into pycuda/driver.py, I can't find where mem_alloc is defined.
定义在pycuda/src/cpp/cuda.hpp