我有一个计算机网络(大约20个),它们上安装了 MS Windows (7,10,Server 2008,Server 2012)。
所有计算机都具有不同的硬件规格(不同数量的CPU核心),并由多个用户使用,但在相同域中使用。
我有一个程序,它计算一个数千/数百的数字的公式(比如数字的平方根)并将它们保存在数据库中。
我需要将这些数百万个数字的部分分发到网络上的可用CPU核心。
像这样的东西:
int p, rank;
MPI_Comm_size(MPI_COMM_WORLD, &p);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
int dsize = 1000000;
int part = dsize / p;
int bpart = part + (dsize%p);
if(rank==0)
{
for(int i=1;i<p;i++)
{
int start = bpart+(i-1)*part;
int stop = start+part;
//SEND PORTION
for (int s=start; s<stop;s++)
{
MPI_Send(...);
}
}
CalcFormula(PORTION_OF_RANK0);
}//if rank0
else
{
//RECEIVE PORTION
MPI_Recv(...);
CalcFormula(PORTION_OF_RANKi);
}//else rank!=0
什么库(MSMPI,Open MPI,MPICH)以及软件你建议我使用 轻松实现 ?