[mephi-hpc] hdf5.h

anikeev anikeev at ut.mephi.ru
Fri Feb 14 11:48:38 MSK 2020


On Fri, 2020-02-14 at 03:51 +0300, Philipp Korneev wrote:
> Спасибо Артём!

Добрый день!

> Программа запустилась, однако возникают ошибки (кусок вывода ниже).
> При этом какие-то данные записываются, но недолго.
> Запускал так
> srun --mpi=openmpi mpirun.openmpi -n 16 ./smilei $FNAME.py
> Компилировал тоже openmpi.
> В чём может быть причина ошибки?

Предлагаю такой вариант решения проблемы:

1) Проверить пути и права на файлы.
2) Посмотреть в сторону совместимости текущей версии библиотеки HDF5 и
файловой системы NFS4.0 с опцией local_lock=none (полный набор
параметров можно посмотреть в mount). Быстро проверить можно
использованием переменной окружения HDF5_USE_FILE_LOCKING=FALSE.
3) Провести отладку системных вызовов с использованием strace.
4) Провести отладку выполнения перекомпилировав с -O0 -ggdb3 и запустив
с gdb.
5) Если не помогло - обратиться ещё раз, сообщив, как можно запустить
тестовую задачу, не повредив настоящие данные.

Если возникнут трудности - обращайтесь.

> Спасибо!
> фк 

-- 
С уважением,
инженер отдела Unix-технологий МИФИ,
Аникеев Артём.
Тел.: 8
(495) 788-56-99, доб. 8998

>  Initializing diagnostics
>  ------------------------------------------------------------------
> --------------
> HDF5-DIAG: Error detected in HDF5 (1.10.4) MPI-process 0:
>   #000: ../../../src/H5F.c line 444 in H5Fcreate(): unable to create
> file
>     major: File accessibilty
>     minor: Unable to open file
>   #001: ../../../src/H5Fint.c line 1364 in H5F__create(): unable to
> open file
>     major: File accessibilty
>     minor: Unable to open file
>   #002: ../../../src/H5Fint.c line 1615 in H5F_open(): unable to lock
> the file
>     major: File accessibilty
>     minor: Unable to open file
>   #003: ../../../src/H5FD.c line 1640 in H5FD_lock(): driver lock
> request failed
>     major: Virtual File Layer
>     minor: Can't update object
>   #004: ../../../src/H5FDsec2.c line 941 in H5FD_sec2_lock(): unable
> to lock file, errno = 11, error message = 'Resource temporarily
> unavailable'
>     major: File accessibilty
>     minor: Bad file ID accessed
> HDF5-DIAG: Error detected in HDF5 (1.10.4) MPI-process 0:
>   #000: ../../../src/H5A.c line 263 in H5Acreate2(): not a location
>     major: Invalid arguments to routine
>     minor: Inappropriate type
>   #001: ../../../src/H5Gloc.c line 246 in H5G_loc(): invalid object
> ID
>     major: Invalid arguments to routine
>     minor: Bad value
> HDF5-DIAG: Error detected in HDF5 (1.10.4) MPI-process 0:
>   #000: ../../../src/H5A.c line 615 in H5Awrite(): not an attribute
>     major: Invalid arguments to routine
>     minor: Inappropriate type
> 
> 
> Le lun. 10 févr. 2020 à 17:49, anikeev <anikeev at ut.mephi.ru> a
> écrit :
> > On Thu, 2020-02-06 at 13:33 +0300, Philipp Korneev wrote:
> > 
> > Здравствуйте!
> > 
> > > Добрый день, при указании явно библиотеки (HDF5_ROOT_DIR =
> > > "/usr/lib/x86_64-linux-gnu/hdf5/openmpi/") удалось скомпилировать
> > > программу. Я не очень понял, каким образом можно выполнить
> > условие "
> > > нужно придерживаться одной реализации MPI при компиляции и
> > запуске
> > > программы."
> > 
> > Это значит, что есть 2 варианта:
> > 
> > 1) Собрать все библиотеки и приложение при помощи mpicc.openmpi и
> > запустить с помощью mpirun.openmpi
> > 
> > 2) Собрать все библиотеки и приложение при помощи mpicc.mpich и
> > запустить с помощью mpirun.mpich
> > 
> > По умолчанию используется OpenMPI, поэтому сборка при помощи mpicc
> > и
> > запуск при помощи mpirun без постфикосв эквивалентны первому
> > варианту.
> > 
> > Любая смесь из элементов OpenMPI и MPICH неработоспособна.
> > 
> > > При запуске я работаю с планировщиком, должен ли я ему указывать
> > > версию MPI? Каким образом? я попробовал  --mpi=openmpi, но это не
> > > изменило результат.
> > 
> > > Возможно, с этим связана следующая ошибка. При запуске через
> > > srun  -n $NPROC ./smilei $FNAME.py
> > > или
> > > srun --mpi=openmpi -n $NPROC ./smilei $FNAME.py
> > > происходит ошибка. Среди прочих сообщений такое:
> > 
> > Я бы рекомендовал создавать статические скрипты для каждого запуска
> > (можно автоматически) и запускать их командой sbatch. Иначе Вы
> > замучаетесь в отладкой, поскольку не сохраняется никакой информации
> > о
> > предыдущих запусках. В скрипте запуск приложения должен
> > осуществляться
> > при помощи соответствующего mpirun.
> > 
> > > The application appears to have been direct launched using
> > "srun",
> > > but OMPI was not built with SLURM's PMI support and therefore
> > cannot
> > > execute. There are several options for building PMI support under
> > > SLURM, depending upon the SLURM version you are using:
> > > 
> > >   version 16.05 or later: you can use SLURM's PMIx support. This
> > >   requires that you configure and build SLURM --with-pmix.
> > > 
> > >   Versions earlier than 16.05: you must use either SLURM's PMI-1
> > or
> > >   PMI-2 support. SLURM builds PMI-1 by default, or you can
> > manually
> > >   install PMI-2. You must then build Open MPI using --with-pmi
> > > pointing
> > >   to the SLURM PMI library location.
> > > 
> > > Please configure as appropriate and try again.
> > 
> > Если Вы хотите использовать механизм запуска --mpi=openmpi, Вам
> > нужно
> > использовать mpirun.openmpi:
> > 
> > srun --mpi=openmpi mpirun.openmpi /путь/до/программы
> > 
> > Запуск при помощи механизма PMIX не поддерживается сборкой Slrum из
> > репозитория Debian по умолчанию, но он имеет смысл только на
> > задачах с
> > больше 10e6 потоков:
> > 
> > https://slurm.schedmd.com/SLUG15/PMIx.pdf
> > 
> > > Подскажите пожалуйста что я делаю не так.
> > > Спасибо!
> > > фк
> > > 
> > > Le lun. 3 févr. 2020 à 12:06, anikeev <anikeev at ut.mephi.ru> a
> > écrit :
> > > > On Sun, 2020-02-02 at 17:07 +0300, Philipp Korneev wrote:
> > > > > Добрый день,
> > > > 
> > > > Здравствуйте!
> > > > 
> > > > > при попытке скомпилировать программу SMILEI (
> > > > > https://smileipic.github.io/Smilei/index.html) на Черенкове
> > > > > появляется ошибка
> > > > 
> > > > > src/Tools/H5.h:16:2: error: #error "HDF5 was not built with
> > --
> > > > enable-
> > > > > parallel option"
> > > > >  #error "HDF5 was not built with --enable-parallel option" 
> > > > 
> > > > В Debian последовательная и различные реализации параллельной
> > > > версии
> > > > библиотеки HDF5 отличаются по названию:
> > > > 
> > > > anikeev at master.cherenkov ~ $ dpkg -l | grep hdf5
> > > > ...
> > > > ii  libhdf5-103:amd64 
> > > > ii  libhdf5-dev
> > > > ...
> > > > ii  libhdf5-mpich-103:amd64
> > > > ii  libhdf5-mpich-dev
> > > > ...
> > > > ii  libhdf5-openmpi-103:amd64
> > > > ii  libhdf5-openmpi-dev
> > > > ...
> > > > 
> > > > > Можно ли её исправить?
> > > > 
> > > > Если Вы хотите использовать параллельную версию, используйте
> > > > соответствующие постфиксы в названии библиотеки. Реализацию MPI
> > > > можно
> > > > выбрать любую, но нужно придерживаться одной реализации MPI при
> > > > компиляции и запуске программы. Если у Вас нет предпочтений, я
> > бы
> > > > рекомендовал OpenMPI.
> > > > 
> > > > Если Вам понадобятся полные пути до файлов, их можно узнать
> > так:
> > > > 
> > > > anikeev at master.cherenkov ~ $ dpkg-query -L libhdf5-openmpi-
> > > > 103:amd64
> > > > ...
> > > > anikeev at master.cherenkov ~ $ dpkg-query -L libhdf5-openmpi-dev
> > > > ...
> > > > 
> > > > > Спасибо!
> > > > > фк
> > > > > _______________________________________________
> > > > > hpc mailing list
> > > > > hpc at lists.mephi.ru
> > > > > https://lists.mephi.ru/listinfo/hpc
> > > > _______________________________________________
> > > > hpc mailing list
> > > > hpc at lists.mephi.ru
> > > > https://lists.mephi.ru/listinfo/hpc
> > _______________________________________________
> > hpc mailing list
> > hpc at lists.mephi.ru
> > https://lists.mephi.ru/listinfo/hpc



More information about the hpc mailing list