Команда module - выбор окружения для решения задачи

При работе на кластере можно использовать различные компиляторы, библиотеки обмена сообщениями и пакеты прикладных программ (приложения), поэтому пользователь должен определить среду для решения своей задачи, выбрав нужное программное обеспечение. Выбор определяется модулем установки переменных окружения, требуемых для работы программы. Названия модулей содержат имена компиляторов, библиотек, пакетов, номера версий. Например, при загрузке модуля 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 - выгрузка всех загруженных на текущий момент модулей.

Внимание!

  1. Настройка с помощью команд mpiset или module имеет силу на текущий сеанс работы на кластере.
  2. Для того, чтобы не настраивать заново в начале каждого сеанса работы среду исполнения для решения своей задачи, можно нужные настройки сохранить в файле $HOME/.bash_profile пользователя, используя следующие команды:
  • module initadd <имя модуля из списка доступных> - меняет $HOME/.bash_profile, загружая указанный модуль для следующих сеансов работы;
  • module initlist - выдаёт список загруженных в $HOME/.bash_profile модулей для следующих сеансов работы;
  • module initclear - чистит $HOME/.bash_profile, оставляя лишь модуль null, который не содержит никаких настроек.