Модульное управление пакетами #
На кластере установлена система управления загружаемыми модулями 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/
.