C++ Cuda GPU编译,我认为它没有使用GPU
我试着学习CUDA。这和C很相似。 我尝试在我的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
\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并行求和”进入谷歌,我得到了这样一个信息:谢谢,你说得对:)