我有一个用 C++ 编写的实用程序并使用 MPICH2,它进行了一些繁重的计算,我对它的性能不满意,并且有很多改进的范围。
首先,MPICH2 仅使用 exes,因此我必须将数据写入文件并将该文件作为参数传递给该实用程序,该实用程序再次读取所有数据并将输出写回文件。如果我可以在 dll 中使用它,我可以节省大量传递数据的时间。此外,如果我能以某种方式在 GPU 上运行它,这将带来提升(不太确定)。
我想知道将实用程序代码转换为 OpenCL 需要多少努力,或者是否有任何工具可以完成 60-70% 的转换任务。