0

我知道如何使用np.arraynp.zerosnp.empty(shape, dtype)然后使用cuda.to_device复制在主机内创建全局设备功能。

此外,可以将共享数组声明为cuda.shared.array(shape, dtype)

但是如何在 gpu 函数内的特定线程的寄存器中创建一个恒定大小的数组。

我试过了cuda.device_arraynp.array但没有任何效果。

我只是想在一个线程中执行此操作-

x = array(CONSTANT, int32) # should make x for each thread
4

1 回答 1

0

Numbapro 支持numba.cuda.local.array(shape, type)定义线程本地数组。

与 CUDA C 一样,是否在本地内存或寄存器中定义数组是编译器根据数组的使用模式做出的决定。如果本地数组的索引模式是静态定义的并且有足够的寄存器空间,编译器将使用寄存器来存储数组。否则它将存储在本地内存中。有关更多信息,请参阅此问答对

于 2015-05-29T06:49:29.587 回答