Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
общее:инструкции:module [21.11.2016 14:38:05] faubert создано |
общее:инструкции:module [24.04.2017 17:50:48] (текущий) leoten |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Использование утилиты "module" ====== | + | ====== Утилита "module" ====== |
------ | ------ | ||
- | ==== Что такое module? ==== | ||
- | Утилита module упрощает настройку переменных окружения при использовании различных реализаций MPI (а также различных версий другого ПО). Для каждой реализации есть отдельный модуль-файл, содержащий все необходимые для использования конкретной реализации настройки: пути к исполняемым файлам, библиотекам, страницам документации и прочее. | + | ==== Назначение ==== |
- | ==== Работа с module ==== | + | Предположим, установлены две разные версии одной и той же программы. Каждая версия программы имеет свой набор исполняемых, библиотечных, заголовочных и других файлов. Для использования той или иной версии необходимо соответствующим образом настроить окружение. В случае с оболочкой Bash это будет выглядеть примерно следующим образом: |
+ | <code> | ||
+ | export PATH=<путь до исполняемых файлов программы>:$PATH | ||
+ | export LD_LIBRARY_PATH=<путь до библиотек программы>:$LD_LIBRARY_PATH | ||
+ | ... | ||
+ | </code> | ||
- | Каждая реализация имеет свой набор исполняемых, библиотечных, исходных файлов и т.д. Для использования той или иной реализации MPI необходимо сначала проверить, доступна ли в системе необходимая Вам. Для вывода списка доступных реализаций используйте команду **"module avail"**. Вот пример вывода этой команды на консоли кластера "ПГУ-Тесла": | + | С точки зрения пользователя необходимость каждый раз вручную вводить подобные команды выглядит неудобной и отнимает достаточно много времени. Для упрощения подобной настройки и была создана утилита **module**. |
- | <code> | + | Эта утилита упрощает настройку переменных окружения при использовании различных версий различного ПО (например, различных реализаций стандарта MPI). Для каждой версии установленного ПО можно создать соответствующий модуль-файл, содержащий все необходимые для использования конкретной реализации настройки. |
- | $ module avail | + | |
- | --------------------------------------------------------------------------------- /usr/local/Modules/versions ---------------------------------------------------------------------------------- | + | ==== Список основных команд ==== |
- | 3.2.10 | + | |
- | ---------------------------------------------------------------------------- /usr/local/Modules/3.2.10/modulefiles ----------------------------------------------------------------------------- | + | ^ Команда ^ Параметры ^ Назначение ^ |
- | dot module-info mpi/mvapich/1.2.0/gcc mpi/openmpi/1.4.1/gcc null use.own | + | ^ module avail| --- | Выводит список доступных для загрузки модулей | |
- | eclipse/juno/parallel modules mpi/mvapich/1.2.0/intel mpi/openmpi/1.4.1/intel pgi/12.4 | + | ^ module load | имя модуля | Загружает модуль с указанным именем | |
- | module-git mpi/intelmpi/4.0.1.007 mpi/mvapich/1.2.0/pgi mpi/openmpi/1.4.1/pgi pgi/13.1(default) | + | ^ module unload | имя модуля | Выгружает модуль с указанным именем | |
+ | ^ module list | --- | Выводит список загруженных в данный момент модулей | | ||
+ | ^ module purge | --- | Выгружает все загруженные модули | | ||
+ | |||
+ | ==== Примеры использования ==== | ||
+ | ---- | ||
+ | |||
+ | === Загрузка модуля компилятора Intel 2017 === | ||
+ | <code> | ||
+ | module load compilers/intel/2017 | ||
+ | </code> | ||
+ | |||
+ | === Загрузка модуля OpenMPI 1.10.6 (GCC 4.4.7) === | ||
+ | <code> | ||
+ | module load compilers/gnu/4.4.7 | ||
+ | module load mpi/openmpi/1.10.6 | ||
+ | </code> | ||
+ | |||
+ | === Загрузка модуля CUDA 8 === | ||
+ | <code> | ||
+ | module load cuda/8.0.61 | ||
</code> | </code> |