====== Утилита "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