Подгружаемые модули Environment Modules

Для упрощения работы с различными версиями программного обеспечения и библиотек на системе Blue Gene/P установлен пакет modules. Он позволяет динамически изменять настройки переменных окружения среды пользователя — подгружает пути к заголовочным файлам, библиотечным файлам, файлам документации, добавляет пути к каталогам с исполняемыми файлами в переменную PATH.

Настройка

В настоящее время пакет работает в тестовом режиме. Если вы хотите воспользоваться его возможностями, добавьте в конец файла ~/.profile следующие строки и выполните повторный вход в систему:

export PATH=/gpfs/opt/fen/Modules/default/bin:$PATH
export LD_LIBRARY_PATH=/gpfs/opt/fen/tcl/default/lib:$LD_LIBRARY_PATH
source "/gpfs/opt/fen/Modules/default/init/bash"
module load modules

Чтобы получить возможность использовать, например, библиотеку FFTW и пакет Gromacs, выполните в терминале команды

module load fftw
module load gromacs
или
module load fftw gromacs

Если каким-то программным обеспечением вы пользуетесь достаточно часто, то имеет смысл прописать его автоматическую загрузку. Для этого нужно добавить в конец файла ~/.profile строку вида

module load MODULE_NAME_1 MODULE_NAME_2

Важно понимать, что при запуске программ из подключаемых модулей на Blue Gene/P необходимо указывать полный путь к ним. Поэтому следует в качестве имени исполняемого файла передавать строку вида `which PROGRAM_NAME` (обратите внимание на обратные одинарные кавычки!). Например, чтобы запустить расчет молекулярной динамики с использованием Gromacs следует выполнить команды вида

module load gromacs
mpisubmit.bg -m vn -n 128 -w 1:00:00 `which mdrun_mpi` -- ...

Справка по командам

  • Просмотреть список доступных в системе модулей:
    module avail
  • Просмотреть список загруженных пользователем модулей:
    module list
  • Загрузить модуль:
    module load MODULE_NAME
  • Выгрузить текущую загруженную и загрузить другую версию модуля:
    module switch MODULE_NAME
  • Выгрузить модуль
    module unload MODULE_NAME
  • Выгрузить все загруженные модули
    module purge
  • Получить краткую справку по модулю
    module help MODULE_NAME

Соглашения об именах и версиях

Имена модулей имеют вид NAME/VERSION-SUFFIX. Если выполнить команду вида

module load NAME
без указания версии и суффикса, то будет загружена версия, выбранная администратором системы по умолчанию (она помечается как (default) в выводе команды module avail).

Некоторые модули доступны либо только для фронтэнда (суффикс fen), либо только для Blue Gene/P (суффикс bgp). Версией по умолчанию является bgp-версия.

Если у модуля есть версия для Blue Gene/P, то она может быть скомпилирована с агрессивной оптимизацией (суффикс fast), либо в стабильном варианте (суффикс stable). Версией по умолчанию является stable-версия.

Если пользователя не устраивает версия, выбранная администратором по умолчанию, всегда можно получить желаемую версию, указав при загрузке полное название модуля:

module load NAME/VERSION-SUFFIX

Документация

Подробная документация по пакету modules доступна в системной справке:

man module
man modulefile