Модульное управление пакетами #
На кластере установлена система управления загружаемыми модулями Lmod.
Краткая инструкция #
С помощью команды module list можно увидеть список активированных модулей.
С помощью команды module avail можно увидеть список доступных для активации модулей.
С помощью команды module load <x> можно загрузить модуль <x>. Можно указать конкретную версию модуля или загрузить сразу несколько модулей. Например, команда:
module load intel/19.1.3.304 impi
загрузит модуль компилятора Intel версии 19.1.3.304 и последнюю версию библиотеки 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 и набор модулей SUSE HPC.
Модули из набора OpenHPC, как правило, более свежие, а также имеют поддержку компиляторов Intel и Intel MPI. Модули из SUSE HPC могут некорректно работать вместе с компиляторами Intel.
В выводе команды module avail модули из OpenHPC указываются по адресу /opt/ohpc/pub/, а модули из SUSE HPC по адресу /usr/share/lmod/.