<分区>
http://developer.download.nvidia.com/CUDA/training/GTC_Express_Sarah_Tariq_June2011.pdf
在上面的教程(幻灯片 29)中,他们启动了 3 个指向 int 的指针:
int *a, *b, *c;
显然这是类型 (int *),但它们以某种方式使内核可以使用语法 a[index]
访问其索引。
他们还使用一些(对我来说)未知的命令来初始化他们的值:
a = (int *)malloc(size); random_ints(a, N);
那么这个命令有什么作用呢?首先,它将指针 *a 转换为指向一个 int(但后来 a
神奇地变成了一个 vector )。我找不到任何关于 random_ints 精确功能的来源(而且我的编译器也无法识别它,因为它可能需要一些包含)。我猜它使 a
具有随机整数的长度为 N 的 vector (尽管 a
的类型为 int
)。
我尝试通过对 vector <int> * a;
做同样的事情来解决这个问题等等等等,但我仍然无法将其传递给我的内核(无论我尝试什么,它都不会添加元素)。
我在 C++ 中工作。提前致谢。
编辑:这可能是伪代码吗?因为显式 C++ 示例以不同的(可理解的方式)执行此操作