【发布时间】:2020-11-18 07:55:48
【问题描述】:
我正在尝试创建一个随机生成器来初始化向量。
我在CUDA中写的核函数如下:
__global__ void randgenvec( int *a, int t) {
int tid = blockIdx.x; // handle the data at this index
if (tid < t){
a[tid] = rand() % 100; //****ang replacement for rand() here expect cuRAND?*****
}
}
我知道我不能在内核函数中使用rand() 函数。有没有其他功能可以用rand()代替。
我知道我们有可以使用的 cuRAND 库。但是想让我的代码更便携、更轻便,并且 cuRAND 需要链接器来执行,我不想使用它。
我的随机化目标是生成 1 到 100 之间的任何 int。
非常感谢任何其他建议。
【问题讨论】:
-
你的意思是你需要链接器来执行?如果您使用的是 CUDA,则您已经在项目中链接了 Nvidia 库和驱动程序。
-
嗨@Kaldrr,我的意思是链接器-
linker flag -lcurand。我已经更清楚地编辑了我的问题。 -
请不要投票重新打开它。链接的副本是一个很好的答案
标签: cuda nvidia random-seed