Команда 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 load < имя модуля из списка > - загрузка модуля, выполняется из командной строки или из конфигурационного файла, настроит Вашу окружающую среду так, чтобы приложение могло использоваться;
  • module unload < имя загруженного модуля > - выгрузка модуля отменит настройки переменных окружения, задаваемых данным модулем; 
  • module switch < имя загруженного модуля > < имя модуля > - замена загруженного модуля (первого) на указанный модуль (второй);
  • module list - выдача списка загруженных (на данный момент) модулей;
  • module show  < имя модуля из списка > - вывод полного имени файла с описанием команд изменения окружения, выполняемых при загрузке модуля;
  • module display  < имя модуля из списка > вывод полного имени файла с описанием модуля как и в команде module show;
  • module whatis  < имя модуля из списка >  вывод на экран компилятора, библиотеки, приложения, устанавливаемых данным модулем;
  • module whatis   вывод на экран списка модулей и соответствующих модулям настроек компилятора, библиотеки, приложения;
  • 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, который не содержит никаких настроек.