Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行示例CUDA应用程序的正确方法?_Cuda - Fatal编程技术网

运行示例CUDA应用程序的正确方法?

运行示例CUDA应用程序的正确方法?,cuda,Cuda,我正试图在Ubuntu 16.04 ARM上启动示例cuda应用程序vectorAdd。我使用.cu文件进入目录,运行sudo make,然后运行/vectorad。结果是 [Vector addition of 50000 elements] Copy input data from host memory to CUDA device CUDA kernel launch with 196 blocks and 256 threads Copy output data from CUDA d

我正试图在Ubuntu 16.04 ARM上启动示例cuda应用程序
vectorAdd
。我使用
.cu
文件进入目录,运行
sudo make
,然后运行
/vectorad
。结果是

[Vector addition of 50000 elements]
Copy input data from host memory to CUDA device
CUDA kernel launch with 196 blocks and 256 threads
Copy output data from CUDA device to the host memory
Test PASSED
Done 

这是运行此应用程序的正确方法吗?如果是的话,为什么我不能输入两个样本向量数据,并看到像常规C或C++程序那样的输出?非常感谢您的帮助。

不要将此示例视为“通过
std::cin输入向量”程序:向量是在运行时生成的,只要GPU正确求和,它们的值就无关紧要

// Initialize the host input vectors with random values
for (int i = 0; i < numElements; ++i)
{
    h_A[i] = rand()/(float)RAND_MAX;
    h_B[i] = rand()/(float)RAND_MAX;
}
//使用随机值初始化主机输入向量
对于(int i=0;i
结果随后也会在CPU上进行验证

这是运行此应用程序的正确方法吗


是的,它符合我刚才写的。

因为这就是示例代码的编写方式。如果您是一名程序员,您可以很容易地进入并修改代码,使其按照您建议的方式运行。不管怎样,您运行代码的方法是正确的。有没有办法让我检查结果是否得到验证,或者
测试通过了
行本身是否与验证相符?@sam:您可以阅读代码而不是提问here@sam阅读源代码:如果CPU验证成功,它将打印
测试通过