sta*_*tar 2 parallel-processing mpi opencl
我是GPU编程的新手,我有没有显卡的笔记本电脑,我想在intel openCL上开发矩阵乘法程序,并使用MPI实现这个应用程序.
可以发布任何指南和有用的链接.
我对MPI的事情感到困惑,我们是否必须为MPI编写代码,或者我们是否必须使用一些开发的MPI来运行我们的应用程序?
这是我想做的项目提案
GPU集群计算(C++,OpenCL和MPI)
研究MPI以分发问题
在一台机器上实现OpenCL应用程序(矩阵乘法/ 2D图像处理)
使用MPI实现应用程序(例如大型2D图像处理)
所以要理解的是,MPI和OpenCL用于您的目的是完全正交的.MPI用于GPU节点之间的通信; OpenCL用于通过使用GPU(或多个CPU内核)加速单个节点上的本地计算.对于任何这些问题,您首先要编写代码的串行C++版本.下一步是(以任何顺序)处理单个节点的OpenCL实现,并处理分解问题的MPI版本(您不希望用户主从用于上述任何问题)进入多个进程,每个进程执行其本地计算部分,这有助于全局解决方案.完成这两个部分后,您将合并这两个部分,并使用分布式内存(MPI部分)GPU(OpenCL部分)版本的代码来解决此问题.
当然,这并不是那么容易,将两者结合起来会花费相当多的工作,但这是记住的基本方法.从一个问题开始,让它在C++中的单个处理器上运行,然后尝试使用其中一个.不要试图一次做所有事情,否则你永远不会到达任何地方.
对于像矩阵乘法这样的问题,在互联网上有许多GPU和MPI实现的例子可供学习.