MPI를 통해 Abinit를 실행하는 방법은 무엇입니까?

MPI를 통해 Abinit를 실행하는 방법은 무엇입니까?

나는 달리려고 노력하고있다.아비나이트순차 모드에서는 시간이 너무 많이 걸리기 때문에 병렬입니다. 나는 병렬로 실행하기 위해 abinit 튜토리얼의 모든 단계를 따랐습니다. 그들은 OpenMPI를 사용한다고 말하지만 작동시킬 수 없습니다(8개의 코어 중 하나에서만 실행됩니다). 나도 팔로우했다이 튜토리얼하지만 여전히 1개의 코어에서만 실행됩니다.

로그를 보고 마침내 문제가 있는 위치를 발견했습니다.

귀하의 아키텍처는 16, 8, 4 또는 2바이트 FORTRAN 파일 레코드 마커를 처리할 수 없습니다!
ABINIT 및 MPI/IO를 사용할 수 없습니다.
MPI_ERROR_STRING: 알 수 없는 오류입니다. 버그 보고서를 제출해 주세요.
ABINIT
애플리케이션은 MPI_Abort(MPI_COMM_WORLD, 13)를 호출합니다 - 프로세스 0

인터넷 검색은 도움이 되지 않았습니다. Windows 버전의 abinit와 병렬로 실행할 수 있으므로 내 아키텍처는 병렬로 실행될 수 있어야 합니다.

작동하게 하려면 어떻게 해야 하나요?

답변1

이 문제를 일으킬 수 있는 몇 가지 상황은 다음과 같습니다.

  1. 호환되지 않는 mpi 버전, 링크하는 라이브러리, 실행 시 로드하는 라이브러리, 일부 최신 버전의 openmpi 간에는 몇 가지 문제가 있습니다.
  2. 파동함수 또는 밀도에 대한 입력 파일이 누락되었습니다. 명확한 오류 메시지는 없지만 이를 통해 mpi io가 작업을 조정하고 중단할 수 있습니다.
  3. k-포인트/밴드/fft의 수는 제공한 프로세서 수와 호환되지 않습니다. 기본 병렬화에서는 nkpt의 제수여야 하며 일반 paral_kgb의 경우 np_kpt*np_band*np_fft의 정확한 제수여야 합니다.

순차적으로 실행하거나 더 적은 수의 프로세서로 실행하여 문제가 있는 위치를 확인하거나 이전 버전의 mpi(보통 1.2.6이 작동함)에 연결해 보십시오. tmp_XXX_LOG_P001 002 003프로세서별로 오류를 기록하는 파일도 확인해야 합니다. 추가 힌트를 줄 것입니다.

관련 정보