[mephi-hpc] Проблема с работой программы

Alexandra Freidzon freidzon.sanya at gmail.com
Wed Feb 6 18:50:53 MSK 2019


Спасибо!

> 32-bit библиотека не может использовать 64-bit драйвер никак. Драйвер
> есть только 64-bit. Задача могла работать если mvapich2 был
> сконфигурирован для локальной работы без использования сети (чтобы он
> даже не пытался загрузить этот драйвер). Или если она запускалась в
> один поток без mpirun - такая возможность предусмотрена стандартом MPI.
> Возможно, Вы использовали OpenMPI из 32-bit chroot-окружения?

OpenMPI точно не трогали, никак к нему не обращались. Во всяком
случае, в LD_LIBRARY_PATH путь к нему не прописан.
Как я понимаю, запуск устроен так: очередью запускается wrapper
mv2.wrap, к-рый прописывает кучу всего в LD_LIBRARY_PATH и запускает
локально собранный 32-битный mpiexec.hydra, к-рый уже в свою очередь
запускает скрипт ff-wrap, запускающий сам экзешник ff823.mvapich2.ex
(насколько я помню, напрямую не получалось). Запутано, да. Т.е., все
работает только на 1 ноде (вроде все равно где-то говорилось, что
межнодовый обмен на этих кластерах неэффективный? или это уже не
так?).

> В любом случае, это нужно исправить. Возможные пути:
> 1) Смириться с однопоточностью и не использовать mpirun
> 2) Настраивать mvapich2 для работы без ошибок без использования сети.
> Проще всего отключить все сетевые протоколы на этапе configure.

А как это сделать?

> Конечно, в этом случае логичнее использовать OpenMP, но я не уверен,
> что его поддерживает firefly.
> 3) Использовать передачу MPI сообщений через IPoIB, вместо ibverbs. Но
> этот способ сведёт на нет преимущества IB коммутатора cherenkov для
> Ваших задач.

А это вообще имеет смысл, если все равно считаем на 1 ноде?

> Basov:
> Проверьте, пожалуйста, результат работы программы в директории:
> /mnt/pool/1/freidzon/work/test_by_anikeev/anthracene_pair3A_mcq_/

Да, тест прошел успешно.

> Я запустил Вашу программу с отладчиком gdb и похоже, что она отработала
> успешно. Это довольно неприятный вид ошибок, когда использования
> отладчика исправляет проблему, что не позволяет эту проблему
> обнаружить... Но для таких случаев тоже есть методы. Для продолжения
> работы нужно убедиться, что результат работы с gdb корректен.

Я посоветовалась с автором программы, он пообещал сделать полностью
статическую версию, не зависящую от MPI на обоих кластерах. Он
считает, что тогда вообще все проблемы решатся и разбираться с MPI не
придется. Посмотрим.


More information about the hpc mailing list