====== Утилита "module" ======
------
==== Назначение ====
Предположим, установлены две разные версии одной и той же программы. Каждая версия программы имеет свой набор исполняемых, библиотечных, заголовочных и других файлов. Для использования той или иной версии необходимо соответствующим образом настроить окружение. В случае с оболочкой Bash это будет выглядеть примерно следующим образом:
export PATH=<путь до исполняемых файлов программы>:$PATH
export LD_LIBRARY_PATH=<путь до библиотек программы>:$LD_LIBRARY_PATH
...
С точки зрения пользователя необходимость каждый раз вручную вводить подобные команды выглядит неудобной и отнимает достаточно много времени. Для упрощения подобной настройки и была создана утилита **module**.
Эта утилита упрощает настройку переменных окружения при использовании различных версий различного ПО (например, различных реализаций стандарта MPI). Для каждой версии установленного ПО можно создать соответствующий модуль-файл, содержащий все необходимые для использования конкретной реализации настройки.
==== Список основных команд ====
^ Команда ^ Параметры ^ Назначение ^
^ module avail| --- | Выводит список доступных для загрузки модулей |
^ module load | имя модуля | Загружает модуль с указанным именем |
^ module unload | имя модуля | Выгружает модуль с указанным именем |
^ module list | --- | Выводит список загруженных в данный момент модулей |
^ module purge | --- | Выгружает все загруженные модули |
==== Примеры использования ====
----
=== Загрузка модуля компилятора Intel 2017 ===
module load compilers/intel/2017
=== Загрузка модуля OpenMPI 1.10.6 (GCC 4.4.7) ===
module load compilers/gnu/4.4.7
module load mpi/openmpi/1.10.6
=== Загрузка модуля CUDA 8 ===
module load cuda/8.0.61