Projeto

Geral

Perfil

Egeon

Orientações para o uso de bibliotecas

Suponha que seja necessário carregar a biblioteca "netcdf-fortran" para uso com o ambiente de pregramação Intel. Para isso, primeiro é necessário carregar o ambiente Intel:

module purge
module load ohpc
module swap gnu9 intel

E em seguida, carrega-se o módulo "netcdf-fortran":

module load netcdf-fortran

Com isso, quando se digita o comando "module avail" será mostrada a lista de módulos disponíveis, e entre eles estará o "netcd-fortran" dentro do ambiente Intel:

------------------------------------------- /opt/ohpc/pub/moduledeps/intel-impi --------------------------------------------
   adios/1.13.1     imb/2019.6                  omb/5.8                 scalapack/2.1.0    (L)    tau/2.29
   boost/1.75.0     mfem/4.3                    petsc/3.16.1            scalasca/2.5              trilinos/13.2.0
   dimemas/5.4.2    mumps/5.2.1                 phdf5/1.10.8     (L)    scorep/6.0
   extrae/3.7.0     netcdf-cxx/4.3.1            pnetcdf/1.12.2          sionlib/1.7.4
   geopm/1.1.0      netcdf-fortran/4.5.3 (L)    ptscotch/6.0.6          slepc/3.16.0
   hypre/2.18.1     netcdf/4.7.4         (L)    py3-mpi4py/3.0.3        superlu_dist/6.4.0

Note que à frente do módulo "netcdf-fortran/4.5.3" há o marcador "(L)" (de loaded), indicando que o modulo está carregado. Acima desse conjunto de módulos há um caminho "/opt/ohpc/pub/moduledeps/intel-impi", onde podem ser verificados os diretórios com os nomes dos módulos. Nesse diretório, há um chamado "netcdf-fortran" e dentro dele há um arquivo texto chamado "4.5.3". Neste arquivo, constam as variáveis de ambiente que são carregadas e que podem (devem) ser utilizadas para acessar os arquivos do "netcdf-fortran".

Por exemplo, neste arquivo constam as variáveis "NETCDF_FORTRAN_DIR", "NETCDF_FORTRAN_BIN", "NETCDF_FORTRAN_LIB", "NETCDF_FORTRAN_INC".

Isso vale para praticamente todos os módulos que são carregados. O importante é que isso torna flexível o uso das bibliotecas dentro dos scripts e makefiles, pois caso seja necessário mudar a versão não haverá a necessidade de realizar nenhuma modificação, pois as variáveis são padronizadas, bastando carregar uma outra versão por meio do comando "module load".

Utilização do Anaconda

A máquina Egeon oferece uma instalação do Anaconda, uma distribuição do Python com ferramentas próprias para o gerenciamento de pacotes e ambiantes. Para utilizar o conda na Egeon, siga as orientações abaixo, considerando o Bash como o Shell padrão.

  1. Login na Egeon;
  2. Carregamento do módulo do anaconda. Com todos os ajustes realizados nas etapas finais, não será mais necessário carregar este módulo:
    $ module load anaconda3-2022.05-gcc-11.2.0-q74p53i
    
  3. Ajustes no arquivo ~/.bashrc. Insira as seguintes linhas no final do arquivo:
    # >>> conda initialize >>>
    module load anaconda3-2022.05-gcc-11.2.0-q74p53i
    # !! Contents within this block are managed by 'conda init' !!
    __conda_setup="$('/opt/spack/opt/spack/linux-rhel8-zen2/gcc-11.2.0/anaconda3-2022.05-q74p53iarv7fk3uin3xzsgfmov7rqomj/condabin/conda' 'shell.bash' 'hook' 2> /dev/null)" 
    if [ $? -eq 0 ]; then
      eval "$__conda_setup" 
    else
      if [ -f "/opt/spack/opt/spack/linux-rhel8-zen2/gcc-11.2.0/anaconda3-2022.05-q74p53iarv7fk3uin3xzsgfmov7rqomj/etc/profile.d/conda.sh" ]; then
        . "/home/carlos.bastarz/miniconda3/etc/profile.d/conda.sh" 
      else
        export PATH="/opt/spack/opt/spack/linux-rhel8-zen2/gcc-11.2.0/anaconda3-2022.05-q74p53iarv7fk3uin3xzsgfmov7rqomj/bin:$PATH" 
      fi
    fi
    unset __conda_setup
    

Ao final, salve o arquivo e abra uma nova seção do terminal (ou utilize o comando "source ~/.bashrc").

Criando ambientes específicos para a instalação de pacotes do Python ou pacotes do Linux

Além de instalar pacotes do Python, por meio do Anaconda é possível também realizar a instalação de pacotes do Linux. Para isso, recomenda-se a criação de ambientes específicos dentros dos quais são instalados os pacotes. Os executáveis destes pacotes podem ser lincados dentro de um diretório adequado (e.g., ~/bin) a partir do qual os pacotes podem ser utilizados. Considere o exemplo do pacote "colordiff" (os mesmos procedimentos podem ser aplicados com pacotes como o gnuplot, imagemagik entre outros - sempre busque no Google por "conda install pacote"):

  1. Criação do diretório "~/bin":
    $ mkdir -p ~/bin
    
  2. Adicionando o diretório "~/bin" ao PATH. Esta etapa deve ser realizada apenas uma vez:
    $ echo "PATH=~/bin:$PATH" >> ~/.bashrc
    
  3. Criando o ambiente colordiff com o conda:
    $ conda create -n colordiff
    
  4. Ativando o ambiente colordiff:
    $ conda activate colordiff
    
  5. Instalando o pacote colordiff:
    $ conda install -c conda-forge colordiff
    
  6. Criando o link simbólico do pacote colordiff dentro do diretório ~/bin:
    $ cd ~/bin
    ln -s $(which colordiff) .
    

Dessa forma, com o link simbólico criado, pode-se utilizar o comando colordiff sem a necessidade de se carregar o ambiente colordiff criado com o conda.

Guia do Usuário EGEON INPE.pdf - Guia usuário EGEON (445 KB) Bastarz, Carlos Frederico, 13 Novembro 2023 09:48