Como executar o Abinit via MPI?

2

Estou tentando executar Abinit em paralelo, já que no modo sequencial leva muito tempo. Eu segui todos os passos nos abinit tutoriais para executá-lo em paralelo, e eles dizem para usar o OpenMPI, mas eu não conseguia fazê-lo funcionar (ele apenas roda em um dos meus 8 núcleos). Eu também segui este tutorial , mas ele ainda roda em apenas 1 núcleo

Olhando para os logs, finalmente encontrei algo que poderia ser o problema:

Your architecture is not able to handle 16, 8, 4 or 2-bytes FORTRAN file record markers!
You cannot use ABINIT and MPI/IO.
MPI_ERROR_STRING: Unknown error. Please file a bug report.
ABINIT
application called MPI_Abort(MPI_COMM_WORLD, 13) - process 0

O uso do Google não ajuda; minha arquitetura deve ser capaz de rodar em paralelo, porque eu posso rodar em paralelo com a versão Windows do abinit.

O que posso fazer para que funcione?

    
por Victor Oliva 28.10.2011 / 18:17

1 resposta

3

Várias coisas podem causar isso:

  1. versões incompatíveis do mpi, entre a biblioteca que você vinculou, a que você carregou em tempo de execução, e algumas versões recentes do openmpi são um pouco bugs.
  2. arquivo de entrada ausente para funções de onda ou densidade. Não há uma mensagem de erro clara, mas isso pode colocar o mpi io em um ajuste e travar o trabalho
  3. número incompatível de k-points / bandas / fft wrt o número de processadores que você fornece, que deve ser um divisor de nkpt na paralelização padrão, e deve ser um divisor exato de np_kpt * np_band * np_fft no caso geral paral_kgb .

Tente executar em sequencial ou com menos processadores para ver onde o problema pode estar, ou vincular a uma versão mais antiga do mpi (1.2.6 é normalmente ok) Você também deve verificar os arquivos tmp_XXX_LOG_P001 002 003 , que registram os erros de cada processador. Eles lhe darão dicas adicionais.

    
por 02.04.2012 / 18:02