[hpc-devel] Q: множественные реализации mpi

Stanislav Ievlev =?iso-8859-1?q?stanislav=2Eievlev_=CE=C1_gmail=2Ecom?=
Вт Янв 29 10:36:07 MSK 2008


Обо всём по-порядку.

Я не имею понятия сколько у нашего дистрибутива будет пользователей и
будут ли они вообще, но ... действительно разные пользователи одного и
того же кластера могут иметь желания использовать разные MPI ибо:
1. mvapich  и mvapich2 - разные версии MPI. Могут быть приложения
заточенные или под одно или под другое.
2. mvapich2 и openmpi могут давать разные результаты
производительности   - у одного лучше latency, у второго полоса (сами
наблюдали) ... и кому-то даже не сильная разница может оказаться
критичной.
3. аналогичная ерунда с компиляторами, Intel'овский компилятор и gcc
по разному оптимизируют и по сему дают разные результаты на разных
задачах .... icc, насколько помню, обожает разматывать циклы когда
надо и и когда не надо, а gcc глючит при оптимизации адресации по
матрице. Очевидно что mvapich_gcc и mvapich_icc тоже могут иметь своих
сторонников.

alternatives сложно сделать per-user, они per-system.

per-user возможно сделать только за счёт переменных среды, например,
так у нас работают сейчас gcc, autoconf,automake.

Отличие работы mpi-selector от того как сейчас у нас работает
autoconf_wrapper состоит в том что первый просто добавляет разные пути
поиска в переменные среды, а второй запускает явно ту или иную
реализацию.

То есть, то что он на perl - это конечно перебор в данном случае, но и
не проблема с другой стороны - будет раздражать - перепишем. Главное
определиться со схемой разведения.

Если делать что-то типа autoconf_wrapper, то придётся аккуратно
разводить   все исполняемые файлы и конфиги. С другой стороны,
большинство реализаций mpi  (как и вообще большинство кластерного
софта) написано людьми которые не парятся о красоте в системе и делают
всё как попало.

Жёсткое разведение по каталогам имеет определённые преимущества -
меньше возни с каждым пакетом.

Я думаю вот что: погляжу сегодня насколько mvapich1,2 (как наиболее
клинический случай) хорошо разводятся  между собой тем или иным
способом и вынесу окончательный вердикт.

P.S. Вариации под разные версии компиляторов сделаем, только после
того как нарисуется конкретная схема.


Подробная информация о списке рассылки HPC-devel