일반적으로 이진 파일에 쓰여진 내용의 유형과 개수를 알고 있습니다 (예 : 모든 정수, 1 등). 바이트 수로 읽을 수는 있지만 MPI 바이너리 파일은 대개 9 가지 정수로 전체 유형으로 읽거나 쓸 수 있습니다 (따라서 숫자의 수는 중요하지 않음). 당신은 당신이 크기를 얻을 읽는 방법 많은 요소를 해결하기 위해 MPI_File_get_size
같은 것들을 사용하여, 변수 매트릭스 크기
call MPI_FILE_OPEN(MPI_COMM_WORLD, filename, &
MPI_MODE_RDONLY , MPI_INFO_NULL, fh, ierr)
bufsize = 3*3
allocate(buf(bufsize))
call MPI_FILE_READ_ALL(fh, buf, bufsize, MPI_integer, &
MPI_STATUS_IGNORE, ierr)
, 파일을 열고 무엇인가 등을 읽어 보시기 바랍니다. 혼합 된 데이터의 경우, 바이너리 파일의 첫 번째 (또는 마지막) 부분을 헤더로 사용할 수 있습니다. 먼저이 파일을 읽고 나머지 파일의 디코딩에 사용합니다. 헤더의 형식을 알아야 할 필요가 있으며 코드/헤더 형식을 변경할 때 이전 버전과의 호환성을 손상시킬 수 있으므로 문제가 될 수 있습니다. 이것은 HDF5와 같은 데이터 형식의 이유 중 일부입니다. https://support.hdfgroup.org/HDF5/
왜 MPI-IO를 사용하고 싶습니까? 각 프로세스가 읽고 관리해야하는 매트릭스 부분은 무엇입니까? – Gilles
@Gilles 각 프로세스는 인접한 행 블록을 가져옵니다. 이것은 과제이므로 MPI-IO를 사용해야합니다. (나는 숙제 도움이 왜 눈살을 찌른다는 것을 알고있다. 나는 해결책이 아니라 해결책을 요구하고있다!) – Moody