我需要一些关于我将要开展的项目的建议。我正在计划使用CUDA 4.0在多GPU节点上运行简单的内核(尚未决定,但我在不情愿地并行执行),方法是遵循下面列出的策略。其目的是通过启动CUDA在多GPU环境中提供的不同策略内核来剖析节点。使用CUDA的多GPU编程策略
- 单主机线程 - 多个设备(共享上下文)
- 单主机线程 - 在单个设备上内核并行执行(共享上下文)
- 多个主机线程 - (等于)多个设备(独立的上下文)
- 单主机线程 - 在一个设备上顺序内核执行
- 多个主机线程 - 在一个设备上内核的并行执行(独立的上下文)
- 多个主机线程 - 顺序执行一个设备上的内核(独立上下文)
我错过了任何类别吗?您对我所选择的测试类别有何看法,以及任何有关多GPU编程的一般性建议,都是值得欢迎的。
感谢,
萨扬
编辑:
我认为以前的分类涉及到一定的冗余,所以修改了它。
我会与“多主机线程 - (等于)多设备,独立上下文”,因为这种方法似乎有尽可能少的数据共享,所以你可以最大限度地平行。但是我不做GPGPU,所以这只是一个普遍的观察。 –