0
MPI에 대한 질문이 있습니다. 프로세스에 바이너리 파일을 동시에 읽으 려하므로 MPI_File_iread를 사용하려하지만 예상대로 작동하지 않고 무엇이 잘못되었는지 알지 못합니다.MPI_File_iread가 올바르게 작동하지 않습니다.
죄송합니다. 질문의 형식이 올바르지 않은 경우 여기를 클릭하십시오.
이#include "mpi.h"
[...]
MPI_Request request;
MPI_Status status;
MPI_File fp;
MPI_File_open(MPI_COMM_WORLD, file_name, MPI_MODE_RDONLY, MPI_INFO_NULL, &fp);
MPI_File_iread(fp, NINTCI, 1, MPI_INT, &request);
MPI_Wait(&request, &status);
printf("%d\n", *NINTCI);
MPI_Barrier(MPI_COMM_WORLD);
올바른 모든 프로세스에 대한 0이어야한다 인쇄 수 있지만, 대신 내가 얻을 : 여기
내 코드입니다 (NINTCI는 정수 포인터이며, FILE_NAME 이미 파일 이름을 가진 char 배열입니다) 다음과 같은 임의의 숫자 (8 개 프로세스) : 나는 MPI_File_read와 MPI_File_iread를 교체하고 결과가 올바른지 MPI_Wait를 제거하면-1475867408
1495223536
-219489040
-840278800
629550320
1309351152
-321049360
21273840
재미 것입니다.
누구나 내가 뭘 잘못하고 있는지 아이디어가 있습니까? 미리 감사드립니다!
어떤 MPI 구현을 사용합니까? –