假设我们有四个16核节点(node1,node2,node3,node4).如何在节点1,2,3上同时运行一个大型并行程序?或者总共使用16核,但是在node1中分配为7核,在node2中分配8核,在node3中使用1核(其他部分正在占用)?
MPI是常见的方式吗?光是开胃就够了吗?我还没有学习MPI,但在单个节点中使用了openmp。
发布于 2015-01-08 07:28:01
如果需要,可以同时使用OpenMP和MPI的组合。虽然MPI确实利用了每个节点上的每个核心,并且在发现其其他任务位于同一台机器上时,对其进行了优化以使用引用的局部性,但如果已经开发,则代码库需要进行大量更改。建议使用OpenMP增量并行化您的代码,因此您可能希望编排一个混合任务,其中MPI的每个任务都使用OpenMP的核心。节点数=每台机器的核数=每台机器的OpenMP任务数
https://stackoverflow.com/questions/27832512
复制相似问题