numbapro cuda常数全局数组

时间:2016-09-02 09:16:40

标签: python numba

我正在使用cumb和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:带参数的*的无效用法(readonly   array(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前端)* with的使用无效   参数(只读数组(complex128,2d,C),complex12 8)已知   签名:*(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行

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

0 个答案:

没有答案