我现在正在使用OpenMPI进行一些测试,其中包含4台计算机的集群,其中3台具有4核处理器,而1台具有2核处理器,总计14个内核。
要使我的程序在所有内核上运行,我必须使用以下命令:
mpirun -np 14 --hostfile hosts.txt ./mpi-sample
但是我需要的比这更具体。让我们举个例子来更好地说明问题:
假设我要对x
个数字进行一些计算。我将它们分为4组y
元素,然后将每组“发送”到集群的一台计算机上。在每台机器中,我都采用该组的元素,然后根据可用内核数将它们划分为子组。
如何使用OpenMPI做到这一点?我在项目中使用C或C ++。