WedX - журнал о программировании и компьютерных науках

Как настроить Chapel/GASNet для запуска мультилокальных кодов в сети MXM Infiniband с ключом раздела?

Я пытаюсь запустить многолокальный код Chapel в кластере с сетью MXM Infiniband (40 Гбит/с, модель: Mellanox Technologies MT26428).

Я следил за документацией Chapel и GASNet и установил

export CHPL_COMM_SUBSTRATE=ibv

export CHPL_LAUNCHER=gasnetrun_ibv

export GASNET_IBV_SPAWNER=mpi

вместо использования CHPL_COMM_SUBSTRATE=mxm после того, как mxm устарел.

Проблема в том, что я могу построить Chapel, используя субстрат ibv. Но я не могу работать на нескольких локалях. Я получаю огромное количество ошибок тайм-аута.

Во-первых, я думал, что проблема в PKEY. Итак, я добавил "--mca btl_openib_pkey "0x8100"" к MPIRUN_CMD. Но никакого успеха.

Я также пытался использовать устаревшую конфигурацию mxm:

CHPL_LAUNCHER=gasnetrun_mxm

export CHPL_LAUNCHER=gasnetrun_ibv

export GASNET_MXM_SPAWNER=mpi

Однако я не могу построить Chapel с такой конфигурацией. Это сообщение об ошибке:

"User requested --enable-mxm, but I don't know how to build mxm programs for your system."

Кстати, использование GASNET поверх MPI, UDP и Infiniband без ключа раздела работает просто отлично.

Кто-нибудь знает, как использовать Chapel в кластере, оснащенном сетью MXM Infiniband и ключом раздела (PKEY)?

С уважением,

Тьяго Карнейро.

08.12.2018

  • В вашей первоначальной настройке, которая запускается, но просто истекает время ожидания, какой вывод вы получаете при запуске с флагом --verbose (который должен показывать основные команды, используемые для запуска программы)? 08.12.2018
  • Мне кажется, что вам нужно пересобрать chapel с поддержкой IB и убедиться, что все необходимые библиотеки (я не использую chapel, поэтому мало знаю о процессе сборки) находятся в правильных местах во время начальной установки. или построить. Быстрый поиск в Google привел бы меня к выводу, что вам нужна правильно установленная реализация OFED, я бы рекомендовал Mellanox, если нет причин не использовать ее. Убедитесь, что у вас установлен полный OFED, и в нем могут быть устаревшие пакеты, которые вам нужны. 08.12.2018
  • Привет Брадо. Используя генератор IBV как SSH, создав и скомпилировав распределенный hello world, я получаю: *** FATAL ERROR: failed to connect (snd) status=12. В свою очередь, используя MPI в качестве спавнера и не передавая PKEY с параметром --mca, я получаю too many retries sending message to 0x0027:0x00003a15, giving up. Наконец, передав правильный PKEY в MPI, я получаю mpirun noticed that process rank 8 with PID 19647 on node uvb-20 exited on signal 6 (Aborted).. Что делает меня любопытным, так это то, что make говорит, что не может строить для MXM. Эта конфигурация отсутствует в Chapel? 10.12.2018
  • Привет, Мэтт. Я это сделал. Я сделал скрипт для сети MXM, затем пересобрал Chapel и распространяемый пример. Проблема в том, что я получаю следующее сообщение: "User requested --enable-mxm, but I don't know how to build mxm programs for your system.". Я не понимаю, почему. Эта конфигурация отсутствует внутри стороннего кода Chpl? Посмотрел, количество файлов одинаковое. Более того, попробую скачать софт OFED. Я просто не знаю, смогу ли я установить это программное обеспечение в экземпляре кластера. 10.12.2018
  • Привет Тиаго. У нас нет большого опыта использования MXM или PKEY в моей команде. Сообщение о том, что я не знаю, как создавать mxm-программы для вашей системы, почти наверняка исходит от GASNet, а не от Chapel ('git grep'ing the sources показывает совпадения в исходниках gasnet), и я подозреваю, что другие проблемы, которые вы , с которыми вы сталкиваетесь, — это те, с которыми вы столкнулись бы, пытаясь заставить любую программу GASNet работать в системе. Удалось ли вам создать программу hello world только для GASNet для этой системы (используя либо отдельную версию, либо версию, поставляемую с Chapel)? Я также обратился за идеями к команде GASNet. 11.12.2018
  • Привет Брэд! Спасибо за ваш ответ. Я очень скоро сделаю это задание, которое вы предложили. Я построю привет-мир из GASNet. Также попробую собрать для других кластеров, так как с другими сетями у меня тоже проблемы. Еще раз спасибо. 11.12.2018

Ответы:


1

Тьяго,

Как автор и сопровождающий GASNet ibv-conduit (поддержка libibverbs) я могу сказать вам, что у нас никогда не было поддержки PKey не по умолчанию. Сообщение *** FATAL ERROR: failed to connect (snd) status=12 соответствует использованию неправильного PKey.

Основываясь на вашем вопросе здесь, я попытался обеспечить поддержку указанного пользователем PKey. Вы можете найти мой прототип в виде пулл-реквеста в git-репозитории GASNet на Bitbucket: https://bitbucket.org/berkeleylab/gasnet/pull-requests/248 (или https://bitbucket.org/PHHargrove/gasnet-public/commits/ibv-pkey/raw, чтобы получить только необработанный патч). Вы должны иметь возможность применить один коммит в этом PR в каталоге third-party/gasnet/gasnet-src исходного кода Chapel. У меня нет разделенной сети IB для тестирования. Итак, вы поможете мне, если сможете убедиться, что это решает вашу проблему.

Что касается User requested --enable-mxm, but I don't know how to build mxm programs for your system, я подозреваю, что программа настройки GASNet не смогла найти необходимые заголовки или библиотеки. Подробная информация об ошибке должна быть в файле config.log ниже third-party/gasnet/build. Если ваши mxm-заголовки и библиотеки установлены в месте, отличном от /opt/mellanox/mxm, вы можете установить переменную среды MXM_HOME при сборке Chapel, чтобы сообщить сценарию конфигурации GASNet о фактическом местоположении. Однако мне неизвестно о какой-либо поддержке PKey в libmxm. Таким образом, это может быть тупиком.

-Павел

11.12.2018
  • Здравствуйте, Павел, спасибо за ответ! Я могу подать заявку и протестировать в своей сети в течение трех дней. Тогда я отвечу, хорошо? Что касается заголовков, я собираюсь создать его, а также отдельную версию GASNet. Еще раз спасибо! 11.12.2018
  • Здравствуйте Пол. Я пытаюсь применить ваши изменения к исходному коду Chapel. Однако я не могу найти ваши модификации в ветке develop после клонирования GASNet. Какую ветку клонировать? Спасибо. 17.12.2018
  • Привет, Тиаго, изменения находятся в запросе на вытягивание (ссылка в моем ответе) и не будут приняты в разработку, пока вы не подтвердите, что они верны. Пожалуйста, попробуйте следующее, начиная с немодифицированного исходного каталога Chapel cd third-party/gasnet/gasnet-src && wget -q -O - https://bitbucket.org/PHHargrove/gasnet-public/commits/ibv-pkey/raw | patch -p1 18.12.2018
  • Привет Пол - хорошие новости, это работает! Сначала я изменил команду: cd .../gasnet-scr/ibv-conduit. Затем мне пришлось экспортировать GASNET_IBV_PKEY='0x8100', который является моим pkey. В противном случае соединение возвращает status=12. Наконец, необходимо вручную установить MPIRUN_CMD="... --mca btl_openib_pkey "0x8100" ..." в случае GASNET_IBV_SPAWNER=mpi. Еще раз спасибо за ваше терпение и время! 18.12.2018
  • Новые материалы

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


    Для любых предложений по сайту: [email protected]