Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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
C++ Cuda GPU编译,我认为它没有使用GPU_C++_Cuda_Nvidia_Gpgpu_Gpu - Fatal编程技术网

C++ Cuda GPU编译,我认为它没有使用GPU

C++ Cuda GPU编译,我认为它没有使用GPU,c++,cuda,nvidia,gpgpu,gpu,C++,Cuda,Nvidia,Gpgpu,Gpu,我试着学习CUDA。这和C很相似。 我尝试在我的GPU中运行一些代码。 但我认为这并不快,我认为这是关于我的代码。 我想只有我的\uuuu global\uuuu void func(ull*num1,ull*num2,ull*sum)在GPU上工作。 这就是我想要的。但它并不快。我该怎么办 typedef uint64全套; #定义e11 #定义E25000000000000000000000 __全局无效函数(ull*num1,ull*num2,ull*sum) { 对于(ull i=*nu

我试着学习CUDA。这和C很相似。 我尝试在我的GPU中运行一些代码。 但我认为这并不快,我认为这是关于我的代码。 我想只有我的
\uuuu global\uuuu void func(ull*num1,ull*num2,ull*sum)
在GPU上工作。 这就是我想要的。但它并不快。我该怎么办

typedef uint64全套;
#定义e11
#定义E25000000000000000000000
__全局无效函数(ull*num1,ull*num2,ull*sum)
{
对于(ull i=*num1;iGPU和CUDA不是“神奇地使程序快速”的技术。您必须并行化您的算法并使用多个线程

目前,您的代码将在所有涉及的内核上的同一内存上执行完全相同的操作,这不仅浪费了资源,而且还绊倒了自己的脚,因为到同一位置的所有这些并发内存地址将相互损害

同时,对数组求和也不是一件“琐碎”的并行工作。您必须拆分和合并任务,以递归方式进行操作


你真的,绝对必须学习GPU是如何工作的,以及如何利用它们带来的东西。

谢谢你,但你太粗鲁了:'(@MuhammedYaşar:对不起,除了诚实,我还能提供什么?解决你问题的办法是正确地并行化你的求和操作。StackOverflow不是免费的代码编写服务。至于GPU上的并行求和,已经有很多东西写在上面了。我的意思是,如果我键入“GPU并行求和”进入谷歌,我得到了这样一个信息:谢谢,你说得对:)