相关疑难解决方法(0)

MPI + GPU:如何混合这两种技术

我的程序非常适合MPI.每个CPU都有自己的,特定的(复杂的)作业,产生一个double,然后我使用a MPI_Reduce来乘以每个CPU的结果.

但我重复了很多次(> 100,000次).因此,我想到GPU会大大加快速度.

我已经谷歌了,但找不到任何具体的东西.你如何将MPI与GPU混合?有没有办法让程序查询和验证"哦,这个等级是GPU,所有其他都是CPU"? 有推荐的教程还是什么?

重要的是,我不想要或不需要全套GPU.我真的只需要很多CPU,然后单个GPU来加速常用MPI_Reduce操作.

这是我正在谈论的示意图:

假设我有500个CPU.每个CPU以某种方式产生,比如50 double秒.我需要将所有这些250,00加double在一起.然后我重复10,000到100万次.如果我可以拥有一个GPU(除500个CPU之外),这可能非常有效.double对于所有~100万个"状态",每个CPU将计算其50 秒.然后,所有500个CPU都会将它们发送double到GPU.然后GPU将为250 double万个"状态"中的每个状态乘以250,000 秒,产生100万个doubles.
这些数字并不准确.计算确实非常大.我只是想传达一般问题.

gpu hpc mpi

8
推荐指数
1
解决办法
5669
查看次数

标签 统计

gpu ×1

hpc ×1

mpi ×1