Voltar para Coaraci

Variáveis de Ambiente

Em ambientes de computação de alto desempenho é comum que haja diversos compiladores e bibliotecas diferentes para a mesma rotina. Por exemplo, para compilação de códigos Fortran e MPI, temos disponíveis “gfortran” e “mpifort”. Além dessa variação de softwares que desempenham a mesma função, também é comum “colecionar” diferentes versões de compiladores, bibliotecas e softwares. Com isso, surge a necessidade de selecionar quais arquivos queremos que o sistema operacional disponibilize para o uso, de acordo com a atividade que iremos desempenhar. No cluster Coaraci está disponível uma lista com todas as bibliotecas e compiladores presentes na máquina, basta o usuário selecionar quais ferramentas ele irá utilizar. Essa seleção é feita por sessão, ou seja, a cada job, as ferramentas devem ser selecionadas, e ao final do job, elas voltam ao valor padrão de “nenhuma seleção”. O comando utilizado para este gerenciamento é o “module” , ele pode listar, carregar, descarregar ou substituir uma ferramenta dentre as disponíveis.

Os módulos de variáveis de ambiente que você necessita podem ser carregados manualmente na linha de comando. Ainda assim, é mais conveniente incluir os módulos para serem carregados nos scripts de submissão que você utilizar (veja Submetendo e Administrando Jobs e alguns exemplos que seguem). Outra possibilidade é modificar o seu “.bash_profile” para carregar os módulos automaticamente no login (não esqueça de descarregar os módulos se há algum conflito com algum outro módulo que você precisa para um software específico).

Os módulos de variáveis atualmente disponíveis são:

[vhpc@coaraci ~]$ module avail

A sintaxe do module é:

module av, avail – lista todos os módulos disponíveis;

module list – lista todos os módulos atualmente em uso;

module show <caminho_do_módulo> – mostra o conteúdo do arquivo do módulo;

module add, load <caminho_do_módulo> – carrega as configurações e prepara o ambiente de acordo com o módulo selecionado;

module rm, unload <caminho_do_módulo> – remove as configurações específicas deste módulo;

module purge – remove todos os módulos carregados ;

module help – exibe todos os subcomandos do module.

Referência completa (em inglês): http://lmod.readthedocs.io/en/latest/010_user.html

Ex:

Cenário 1: Compilar um programa utilizando o GCC 12.2.0, para esta compilação o usuário deve carregar o módulo do compilador com o comando:

[vhpc@coaraci ~]$ module add gnu12/12.2.0

Cenário 2: O usuário deseja remover todos os módulos já carregados:

[vhpc@coaraci ~]$ module purge