У меня есть вопрос о рассеянии данных с использованием функции рассеяния MPI.
Я хотел бы точным образом разбросать данные, но я не знаю, возможно ли это по рассеянию MPI или мне нужно преобразоватьданные, а затем разброс.
Например, у меня есть размер массива (х, у, г) 4,8,2 (так что есть два 2D-массива).Теперь я хочу разбить его на 4 процесса, каждый размер будет 4,2,2.
Данные разбросаны следующим образом:
![MPI scatter](https://i.stack.imgur.com/K1alH.png)
Однако мне нужны данные разброса следующим образом:
![Is it posible](https://i.stack.imgur.com/sEOGU.png)
Программа написана на фортране.
Функция разброса в моей программе выглядит так:
CALL MPI_Scatter(TRANSPONSE_LOCAL_YZ(:,:,:), x_proc*y*z_proc, MPI_INT, TRANSPONSE_YZ(:,s:f,:), x_proc*y*z_proc, MPI_INT, 0, MPI_COMM_WORLD, MPI_STATUS, MPI_err)