Для выбора компиляторов, библиотек обмена сообщениями и пакетов прикладных программ, необходимых для работы программы пользователя, используются модули установки переменных окружения.
Команда mpiset
позволяет выбрать модуль из списка основных модулей, задающих компилятор и версию библиотеки MPI.
Команда mpiset
без параметров выдает пронумерованый список доступных вариантов. Строка, помеченная словом active
, указывает на текущие настройки.
Для смены модуля (библиотеки MPI, компилятора) необходимо выполнить команду
mpiset <n>
где <n> – номер варианта настроек для данного кластера.
Пример. Список основных вариантов настроек, полученный в начале сеанса 28.12.2016 командой mpiset
на кластере "Уран":
active 1 MVAPICH2 Intel 14.0, mvapich2/intel64
2 OpenMPI Intel 11.1, openmpi/intel64
3 OpenMPI 32bit GCC 4.4, openmpi/gcc32
4 OpenMPI 32bit Intel 14.0, openmpi/intel32
5 OpenMPI GCC v4.4, openmpi/gcc64
6 OpenMPI v1.10 GCC 4.8, openmpi/gcc64_1.10
7 MVAPICH2 2.1 PGI 16.5, mvapich2/pgi_16.5
8 Intel MPI Intel Compiler 17.0, intelmpi/intel64
При работе на кластере можно использовать различные компиляторы, библиотеки обмена сообщениями и пакеты прикладных программ (приложения), поэтому пользователь должен определить среду для решения своей задачи, выбрав нужное программное обеспечение. Выбор определяется модулем установки переменных окружения, требуемых для работы программы. Названия модулей содержат имена компиляторов, библиотек, пакетов, номера версий. Например, при загрузке модуля openmpi/intel64 программа пользователя будет откомпилирована 64-разрядным компилятором intel с библиотекой openmpi.
Список загруженных на настоящий момент модулей можно выдать с помощью команды module list
.
Сервисная команда mpiset
служит для быстрой смены модуля, задающего компилятор и версию библиотеки MPI.
Списки доступных модулей на кластерах могут отличаться и пополняться с введением нового программного обеспечения.
Пример. Список модулей, доступных на кластере umt на 01.07.2011, выданный с помощью команды module avail
OpenFoam/1.7.x matlab/R2010b openmpi/gcc64
dvm/current mpi/default openmpi/intel64
firefly/71g-openmpi music/4.0 paraview/3.10
matlab/R2010a mvapich2/intel64 towhee/6.2.15
В целом, работа с модулями обеспечивается командой module
.
module avail
- вывод на экран списка доступных модулей;module list
- вывод на экран списка загруженных (на данный момент) модулей;module show <имя модуля из списка>
- вывод на экран полного имени файла с описанием команд изменения окружения, выполняемых при загрузке модуля;module whatis <имя модуля из списка>
- вывод на экран комментария к модулю;module whatis
- вывод на экран списка модулей с комментариями;
module load <имя модуля из списка>
- загрузка модуля; после выполнения данной команды (из командной строки или конфигурационного файла) среда исполнения будет настроена на использование программного обеспечения, соответствующего указанному модулю;
module unload <имя загруженного модуля>
- выгрузка модуля отменит настройки переменных окружения, задаваемых данным модулем;module switch <имя загруженного модуля> <имя модуля>
- замена загруженного модуля (первого) на указанный модуль (второй);module clear
- выгрузка всех загруженных на текущий момент модулей.Внимание!
mpiset
или module
имеет силу на текущий сеанс работы на кластере.$HOME/.bash_profile
пользователя, используя следующие команды:module initadd <имя модуля из списка доступных>
- меняет $HOME/.bash_profile
, загружая указанный модуль для следующих сеансов работы;module initlist
- выдаёт список загруженных в $HOME/.bash_profile
модулей для следующих сеансов работы;module initclear
- чистит $HOME/.bash_profile
, оставляя лишь модуль null
, который не содержит никаких настроек.