2013-08-24 130 views
0

我是CUDA和并行编程的新手。我想在CUDA中做一个双重平行的部分,有人可以帮我解决这个问题。很抱歉张贴在这里,但我有点困惑,找不到任何漂亮的教程或帮助它。 我想做一个函数,使它在CUDA中并行工作,然后我想使CUDA的另一个函数并行地从该函数调用,这有可能在CUDA的内核函数中实现吗?需要CUDA并行程序帮助

编辑

例如我有两个内核函数my_progmy prog_1我打电话他们这样

main_function 
{ 
    my_prog<<core,threads>>(); 
} 

my_prog() 
{ 
    //here i want to call my_prog_1 in parallel 
    my_prog_1<<core,threads>>(); 
} 

回答

2

如果你想学习如何编写CUDA程序,我建议采取一些的可用教程。

NVIDIA有一个webinar page与各种教程。

对于初学者来说,这两个网络研讨会将给你一个基本的介绍到CUDA有足够的知识,能够编写运行速度快CUDA程序:使用CUDA C

GPU计算 - 简介(2010) 介绍到使用CUDA C进行GPU计算的基础知识。概念将通过代码示例的演练加以说明。没有先前的GPU计算经验

使用CUDA C高级GPU计算1(2010) 第一级优化技术,如全局内存优化和处理器利用率。概念将使用真实代码示例进行说明

如果您想学习如何编写CUDA程序,那么这将花费2个小时。

编辑: 这里描述的是CUDA Dynamic Parallelism。它需要具有3.5(今天)的CUDA计算能力的设备。

你可以找到一个完整的用户指南它here

+0

Thankx的答案,我可以写一个简单的CUDA程序只是想如何写一个CUDA程序,它可以在双并行计算做一些指导。例如,我有一个内核函数,我已经从该内核函数中并行调用,我想调用另一个内核或设备函数进一步并行,是否有可能?谢谢 – Hadi

+0

如果你有一个特定的编码问题,也许你应该展示你编写的代码的一个例子。使用'double'数据类型计算不应该是cc 1.3或更新设备的问题。您可以并行调用2个内核,这称为并发执行。这只有在内核相对较小时才有用。 –

+0

请参阅修改,我已更新对 – Hadi