나는 달리려고 노력하고있다.아비나이트순차 모드에서는 시간이 너무 많이 걸리기 때문에 병렬입니다. 나는 병렬로 실행하기 위해 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
이 문제를 일으킬 수 있는 몇 가지 상황은 다음과 같습니다.
- 호환되지 않는 mpi 버전, 링크하는 라이브러리, 실행 시 로드하는 라이브러리, 일부 최신 버전의 openmpi 간에는 몇 가지 문제가 있습니다.
- 파동함수 또는 밀도에 대한 입력 파일이 누락되었습니다. 명확한 오류 메시지는 없지만 이를 통해 mpi io가 작업을 조정하고 중단할 수 있습니다.
- k-포인트/밴드/fft의 수는 제공한 프로세서 수와 호환되지 않습니다. 기본 병렬화에서는 nkpt의 제수여야 하며 일반 paral_kgb의 경우 np_kpt*np_band*np_fft의 정확한 제수여야 합니다.
순차적으로 실행하거나 더 적은 수의 프로세서로 실행하여 문제가 있는 위치를 확인하거나 이전 버전의 mpi(보통 1.2.6이 작동함)에 연결해 보십시오. tmp_XXX_LOG_P001 002 003
프로세서별로 오류를 기록하는 파일도 확인해야 합니다. 추가 힌트를 줄 것입니다.