最佳答案
分布式并行式编程是指在并行机上将一个应用分解成多个子任务,分配给不同的处理器,处理器之间相互协同,并行地执行子任务,从而达到加速求解速度,或者提升求解规模的目的。
MPI 是全世界工业、科研和政府部门联合建立的消息传递编程标准,以便为并行程序的设计提供一个高效、统一的编程环境。它是目前最通用的分布式并行编程方式,也是分布式并行系统的主要编程环境。
OpenMP 则是为共享内存系统设计的多线程计算模式。在编程时,只需要在特定的源代码片段前面加入 OpenMP 专用的预编译指令,就可以将该段程序自动进行并行化处理,OpenMP 可以让我们把更多的精力投入到并行算法本身,而非其具体实现细节。分布式内存系统在每一个节点内部属于共享内存系统,因此在使用 MPI 进行并行求解的同时,可以使用 OpenMP 语法来实现每个节点内的多线程并行计算。
在大规模计算中,随着体系规模的增加,计算量及存储量呈指数增长,对计算机的计算和存储能力是严峻的挑战。而通过分布式并行计算可以在多台机器上平衡计算负载,从而提高计算效率,对大规模计算将会起到重要的推动作用