Как вызвать InfiniBand с OpenMPI

Я хотел бы знать, как вызывать оборудование InfiniBand в кластере CentOS 6x с OpenMPI (статические библиотеки) для запуска моего кода C++. Вот как я собираю и запускаю:

/usr/local/open-mpi/1.10.7/bin/mpic++ -L / usr / local / open-mpi / 1.10.7 / lib -Bstatic main.cpp -o DoWork

usr / local / open-mpi / 1.10.7 / bin / mpiexec -mca btl tcp, self --hostfile hostfile5 -host node01, node02, node03, node04, node05 -n 200 DoWork

Здесь " -mca btl tcp, self " показывает, что используется TCP, а в кластере есть InfiniBand.

Что нужно изменить при компиляции и запуске команд для запуска InfiniBand? Если я просто заменю " -mca btl tcp, self " на " -mca btl openib, self ", то получаю множество ошибок с соответствующим высказыванием:

По крайней мере одна пара процессов MPI не может связаться друг с другом для обмена данными MPI. Это означает, что ни одно устройство Open MPI не указало, что оно может использоваться для связи между этими процессами. Это ошибка; Открытый MPI требует, чтобы все процессы MPI могли достигать друг друга. Эта ошибка иногда может быть результатом того, что вы забыли указать "я" BTL.

Спасибо большое!!!

0 ответов

Другие вопросы по тегам