[mephi-hpc] Fortran MPI

Леонов Алексей Анатольевич AALeonov at mephi.ru
Mon Sep 27 15:27:49 MSK 2021


Добрый день.

После некоторого перерыва попытался скомпилировать новую версию своего кода, написанную на Fortran с использованием MPI и столкнулся со следующей проблемой:

При использовании mpif90 начала вылезать следующая ошибка (одна из многих аналогичных):

av_rms.f:94:22:

   92 |       call MPI_BCAST( KeyDstatRestart,1,MPI_INTEGER,0, MPI_COMM_WORLD,ierr)
      |                      2
   93 |       call MPI_BCAST( DiscrDStat,     1,MPI_INTEGER,0, MPI_COMM_WORLD,ierr)
   94 |       call MPI_BCAST( StartTimeDStat, 1,MPI_REAL8,  0, MPI_COMM_WORLD,ierr)
      |                      1
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/INTEGER(4)).

Путем добавления флага -fallow-argument-mismatch мне удалось перевести errors в warnings и получить исполняемый файл.

Однако при запуске кода появились проблемы с выводом в файлы. В процессе расчетов я с некоторой периодичностью вывожу в файл значения основных переменных в трехмерной расчетной области. Вывод производится при помощи MPIIO. И в процессе работы при очередном выводе в файл (в произвольный момент) программа зависает: создается файл с именем типа restart.lnv-2126839809-4361.lock, где restart.lnv имя выходного файла программы, и ничего больше не происходит. Программа не выходит и продолжает отражаться в запущенных процессах. Ранее таких проблем при запуске не было. Вывод в новой версии не отличается от предыдущих версий программы. Запуск задачи производился на unicluster.


С уважением,

снс каф. 7,
Алексей Леонов.


More information about the hpc mailing list