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
神奇地变成了一个向量)。我找不到任何有关 random_ints 确切作用的来源(而且我的编译器也无法识别它,因为它可能需要一些包含)。我猜它a
用随机整数创建了一个长度为 N 的向量(尽管a
是 type int
)。
我尝试通过对 etc 等做同样的事情来解决这个问题,vector <int> * a;
但我仍然无法将它传递给我的内核(无论我尝试什么它都不会添加元素)。
我正在使用 C++。提前致谢。
编辑:这可能是伪代码吗?因为显式 C++ 示例以不同的方式(可理解的方式)执行此操作