입자 시뮬레이션을 수행하고 있으며 다른 세 가지 배열의 일부를 다른 프로세스로 보내야합니다. MPI 사용자 정의 유형을 사용하여이를 수행하는 방법은 무엇입니까?세 가지 다른 행렬의 부분에 대한 MPI 사용자 정의 형식
예를 들어, 프로세스 1에서 데이터 유형이 double, A, B 및 C 인 3 개의 행렬이 있다고 가정합니다. 이제 A, B 및 C의 처음 두 행을 프로세스 2로 보내려고합니다. MPI 사용자 정의 유형을 사용하여 이러한 행렬에 대한 C 유형 저장을 가정하면 어떻게됩니까? 고맙습니다.
현재이 행렬의 처음 두 행을 단일 버퍼에 복사하고 MPI 전송을 수행합니다. 여기에는 기본적으로 다음 단계가 포함됩니다.
Copy the first two rows of A, B, and C to a send_buffer on Process 1.
Send the send_buffer from Process 1 to Process 2.
On Process 2, use recv_buffer to receive data from Process 1.
On Process 2, copy data from recv_buffer to A, B, C on Process 2.
이 작업을 수행하는 것이 더 좋은 방법이 있기를 바랍니다. 감사.
지금까지 수행 한 작업을 보여주는 최소한의 코드를 제공해주십시오. – Shibli
* 인접 프로세스 *는 무엇을 의미합니까? 귀하의 매트릭스는 현재 어디에 저장되어 있습니까? 프로그램에서 전반적인 순위는 무엇입니까? – Zulan
예제를 추가하여 더 명확하게하려고 노력했습니다. – Bill