作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试按其排名的升序和降序显示 Hello World 消息
我读过有关双调排序的内容,但不明白如何实现它,
int[] datalist = new int[8];
MPI.Init(args);
int rank = MPI.COMM_WORLD.Rank();
int size = MPI.COMM_WORLD.Size();
System.out.println("Hello World from <"+rank+"> of total "+size+" processes");
MPI.Finalize();
我从这个编码中得到了输出,但不知道如何通过排序来输出它,我真的需要帮助,因为我对 mpi 东西还是新手
最佳答案
问题不是很清楚。它可以有两种解释:
您希望以升序或降序查看打印的排名。任何 MPI 库(包括 MPJ Express)都遵循单程序多数据 (SPMD) 模型。这本质上意味着将执行程序的多个副本。副本数量取决于您在使用 mpjrun 开关(使用 -np 开关)执行程序时指定的并行进程数。 MPJ Express 不可能以任何特定顺序打印该行,因为它无法控制该程序并行副本的执行顺序。所以输出总是不确定的。
您希望看到 datalist 数组中的数据按升序或降序排序。同样,为此您将需要 Gather() 或 Reduce() 操作。目前,您的程序正在制作 datalist 数组的 N 个副本(假设您启动了 N 个并行进程)。
希望这有帮助。
关于java - 有没有办法按升序和降序对 Mpi 中的排名进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56347022/
我是一名优秀的程序员,十分优秀!