多GPU并行, 欢迎大家讨论!!

之前一直在做单个GPU卡的并行,现在要做多个GPU的并行,主要目的是合并使用多个GPU的显存,有些个问题希望与大家交流一下:

①基本原理是什么?相比于单GPU并行, 要加进来哪些方法和概念?

②多GPU并行要求什么样的环境?Tesla C1060可不可以?TeslaC1060是否支持CUDA4.0的GPU卡之间不经过Host的数据互传?

③多GPU并行是单线程多GPU协作, 还是多个线程(每个线程一个GPU)之间的协作? 要涉及到多线程(CPU)那岂不是很麻烦?

④CUDA里的stream的概念是不是在此用得着?多stream异步并行?event呢?

估计不只我在面临着这些问题, 欢迎大家提出自己的问题和想法
希望有经验的大侠前辈略作指点, 不胜感激~

我也在做多GPU的并行,大家可以互相交流写

请问你在用什么方法做啊?
我现在正在按照SDK中simpleMultiGPU的方法在走

我还没实践过,但看资料上讲的还是在主机端开多个线程,一个线程控制一个GPU,这时候是可以用到stream的

我已经根据SDK中simpleMultiGPU的例子将SDK中矩阵相乘的例子改成了多GPU的程序,但是由于矩阵相乘的的KERNEL函数中grid和threads的大小是跟我的GPU数据的划分相关,所以没有取得很好的加速效果。目前在阅读particles的例子,希望能将其改成多GPU的程序。

据目前初步试验, 确实是多个主机端线程, 一个线程控制一个GPU, 但不用stream也可以

我们过几个月要用MPI和CUDA来并行了,害怕啊

做什么呀? 什么问题这么大规模…

脑电的,CUDA都还不会啊

呵呵, 虽然我也是个初学, 感觉只要有C基础, 这东西还是很好上手的~

感觉语言本身还不是很复杂;现在主要是算法,哎,后悔当年高数高代考了六七十分啊

小弟现在正在做单GPU上的程序优化,估计不久就得做多GPU上实现的,以后还得各位指导啊!