题目内容

小明学习了MPI点对点通信后,想设计一个指环程序:在进程0上,先初始化一个值(-1),然后将这个值传递到进程1;进程1接收到了这个值,再传给进程2;依此规律进行,最终,最后一个进程接收到值后,又返还给进程0。下面是小明写的代码,但是有一些空留着,请帮助他填写下吧~#include #include #include int main(int argc, char** argv){ MPI_Init(NULL, NULL); int world_size; MPI_Comm_size(MPI_COMM_WORLD, ______ ); int world_rank; MPI_Comm_rank(MPI_COMM_WORLD, ______ ); int token, prev, next; prev = world_rank - 1; next = world_rank + 1; if(world_rank == ______ ){ prev = world_size - 1; } if(world_rank == ______ ){ next = ______ ; } if(world_rank == 0){ token = -1; MPI_Send(______ , 1, ______ , next, 0, MPI_COMM_WORLD); MPI_Recv(&token, 1, ______ , prev, ______ , MPI_COMM_WORLD, MPI_STATUS_IGNORE); }else{ ______ (&token, 1, MPI_INT, prev, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); ______ (&token, 1, MPI_INT, next, 0, MPI_COMM_WORLD); } ______ }

查看答案
更多问题

JavaScript中,var order1 = 1 + (2 + "3"); var order2 = "1" + (2 + 3);order1和order2的值分别是

A. “123”和 “15”
B. “6”和 “15”
C. “6”和 “6”
D. “123”和 “123”

关于JavaScript的函数,下列说法错误的是

A. 局部变量和全局变量同名时,两者会互相影响
B. 函数便于重复使用相同代码,其声明总是使用function
C. 函数可以没有返回值,也可以没有参数
D. 若传入函数的参数过多,函数会忽略掉多余的参数

R包开发中关于加载包和附加包的描述错误的是

A. 由于正在开发的R包依赖于其他包,因此在进行DESCRIPTION文件书写时应该总是用Depends而不是Imports
B. DESCRIPTION文件中的Imports指加载包,Depends指附加包
C. 加载包后,包在内存中,但不在搜索路径中
D. 附加一个已加载的包会将包放在搜索路径中

OpenMP中获得每个线程id的函数是

A. omp_get_thread_num()
B. omp_get_num_threads()
C. omp_get_max_threads()
D. omp_get_wtime()

答案查题题库