Есть ли способ отсортировать рейтинг в Mpi по возрастанию и убыванию - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь отобразить сообщение 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

1 Ответ

0 голосов
/ 29 мая 2019

Вопрос не очень понятен.Это можно интерпретировать двумя способами:

  1. Вы хотели бы видеть напечатанный ранг в порядке возрастания или убывания.Любая библиотека MPI, включая MPJ Express, следует модели SPMD с одной программой.По сути, это означает, что будет выполнено несколько копий вашей программы.Количество копий зависит от того, сколько параллельных процессов вы указали при выполнении программы с параметром mpjrun (используя ключ -np).MPJ Express не может печатать эту строку в каком-либо конкретном порядке, поскольку он не контролирует порядок выполнения параллельных копий этой программы.Таким образом, результат всегда будет недетерминированным.

  2. Вы хотите, чтобы данные в массиве списков данных сортировались в порядке возрастания или убывания.Опять же, для этого вам понадобится операция Gather () или Reduce ().В настоящее время ваша программа создает N копий массива данных (при условии, что вы запустили N параллельных процессов).

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...