Программные модули

Модульное управление пакетами #

На кластере установлена система управления загружаемыми модулями Lmod.

Краткая инструкция #

С помощью команды module list можно увидеть список активированных модулей.

С помощью команды module avail можно увидеть список доступных для активации модулей.

С помощью команды module load <x> можно загрузить модуль <x>. Можно указать конкретную версию модуля, или загрузить сразу несколько модулей, например, команда:

module load intel/19.0.5.281 impi

загрузит модуль компилятора Intel версии 19.0.5.281 и последнюю версию библиотеки Intel MPI.

Любой загруженный модуль можно выгрузить с помощью команды module unload <x>.

Можно переключиться на другую версию уже загруженного модуля с помощью команды module load <x>/<version>.

Одновременно может быть загружен только один модуль из категории компиляторов (intel или gnu) и только одна библиотека MPI (impi, mpich, openmpi4 и др.).

У модулей есть зависимости, и они становятся доступны только после загрузки всех необходимых модулей. Например перед загрузкой MPI библиотеки нужно загрузить хотя бы один модуль с компилятором. Для загрузки параллельных библиотек (например, petsc) необходимо предварительно загрузить модуль с MPI библиотекой.

Используйте команду module spider чтобы найти все модули в системе. Также можно добавить ключевое слово, чтобы найти конкретный модуль, например, module spider petsc.

Команда module show <x> покажет список переменных окружения, которые будут добавлены при активации модуля. Эта информация может быть полезной, чтобы понять какие переменные нужно использовать для доступа к файлам модуля. Как правило они имеют вид NAME_DIR, NAME_INC, NAME_LIB и т.п.

С помощью команды module purge можно выгрузить все активированные модули.

Также вы можете использовать короткую версию команды ml вместо module list, ml <x> вместо module load <x>, ml -<x> вместо ml unload <x>, ml av вместо module avail и т.д.

Команды module load <x> можно добавить в свой ~/.bashrc файл. В этом случае лучше убрать из него явную загрузку переменных для компиляторов Intel.

Дополнительную информацию можно найти в документации Lmod.

Наборы модулей #

На кластере установлен набор модулей OpenHPC и набор модулей SLES HPC.

Модули из набора OpenHPC как правило более свежие, а также имеют поддержку компиляторов Intel и Intel MPI. Модули из SLES HPC могут некорректно работать вместе с компиляторами Intel.

В выводе команды module avail модули из OpenHPC указываются по адресу /opt/ohpc/pub/, а модули из SLES HPC по адресу /usr/share/lmod/.