Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python numbapro cuda常量全局数组_Python_Numba - Fatal编程技术网

Python numbapro cuda常量全局数组

Python numbapro cuda常量全局数组,python,numba,Python,Numba,我将cuda与numbapro一起使用,我希望在向量化函数中使用一个常量全局数组。示例代码如下所示: import numpy as np from numbapro import cuda, vectorize stream1 = cuda.stream() Pxy = np.ones((5,5), dtype='complex128') Pxy = cuda.to_device(Pxy, stream=stream1) psi = np.ones((5,5), dtype='comple

我将cuda与numbapro一起使用,我希望在向量化函数中使用一个常量全局数组。示例代码如下所示:

import numpy as np
from numbapro import cuda, vectorize

stream1 = cuda.stream()
Pxy = np.ones((5,5), dtype='complex128')
Pxy = cuda.to_device(Pxy, stream=stream1)

psi = np.ones((5,5), dtype='complex128')
psi = cuda.to_device(psi, stream=stream1)

@vectorize(['complex128(complex128)'], target='gpu')
def dpsi(psi):
    return Pxy*psi

dpsi(psi)
但是,如果出现此错误:

TypingError:带参数的*的用法无效(只读) 数组(complex128,2d,C),complex128)已知签名:*(int64, int64)->int64*(int64,uint64)->int64*(uint64,int64)-> int64*(uint64,uint64)->uint64*(float32,float32)->float32 *(float64,float64)->float64*(complex64,complex64)->complex64*(complex128,complex128)->complex128*参数化文件“vector.py”,第13行

在nopython(nopython前端)失败使用*时无效 参数(只读数组(complex128,2d,C),complex128)已知 签名:*(int64,int64)->int64*(int64,uint64)->int64* (uint64,int64)->int64*(uint64,uint64)->uint64*(浮动32, float32)->float32*(float64,float64)->float64*(complex64, complex64)->complex64*(complex128,complex128)->complex128* 参数化文件“vector.py”,第13行


我知道我可以将常量数组作为参数传递,但我想知道是否可以使用全局常量数组。

Hamid Ohadi,我也对这个问题感兴趣。你找到解决办法了吗?当我使用C语言时,我通常使用纹理内存来存储算法中的不变数据。但似乎numba不支持这种类型的内存(见3.1.4.缺少CUDA功能)Hamid Ohadi,我也对这个问题感兴趣。你找到解决办法了吗?当我使用C语言时,我通常使用纹理内存来存储算法中的不变数据。但numba似乎不支持这种类型的内存(见3.1.4.缺少CUDA功能)