fortran如何实现并行计算

如题所述

实现并行的方式有很多种
从硬件上分为 CPU 并行和GPU 并行
CPU 并行目前主要有:
1. 进程级适用于分布内存的MPI 并行(参考书 百度 都志辉)
2. 线程级别的openmp (参考书:百度 fortran openmp)
需要注意的是 MPI 相对底层一点,openmp 则非常简单 基本上1个月能够将你的程序并行化。 但前者的效率要高于后者 当然我是说你程序编写合理的情况下。
GPU 并行:
目前的显卡基本上都支持GPU并行,只要你的显卡不是很老,都可以用来做GPU 并行计算。 GPU计算说通俗一点就是借助显卡的处理核心来做科学计算,有效发挥显卡的多核计算能力
如果你要进行GPU 编程,那么建议学习CUDA 对应于C 有cuda C 对应于fortran 有cuda fortran 当然 目前cuda fortran 的编译器只有pgi, 你可以很方便在网上下载到试用版本。
就这么多吧,仅供参考。有什么问题可以在群里 或者在论坛里面提问,大家来讨论。
最后还补充一下,如果你有正版PGI的话,也可以用openacc 也是一种简化的cuda 大体上就是你在代码中加入一些编译指导语句,然后编译器帮你把代码cuda 并行化。相当于cpu 并行里的openmp。
温馨提示:答案为网友推荐,仅供参考
相似回答