我有一个使用MPI_Scatter()和MPI_Gather()的程序.程序将整数N作为输入,并将素数从2返回到N.我创建一个数字从2到N的数组,并且MPI_Scatter将数组拆分为N /(procs)元素,然后将它们分配给过程.如果我插入一个数字N,它对于进程数('size')可以被整除,一切正常,但是当我输入一个不能为'size'整除的N时,我会有一些错误.例如:N = 16,size = 4 => 16/4 = 4,所以N%size == 0,但是当N%size!= 0时,我会有错误.我试着添加:
div = N/size;
if (N%size != 0)
if (rank == 0)
div++;
Run Code Online (Sandbox Code Playgroud)
rank是当前进程的等级,为根进程提供一个元素.但它仍然无法正常工作.我怎么解决这个问题?先感谢您.