Implantação #103

Instalação do Gaussian & Linda

Added by Ney Lemke over 16 years ago. Updated about 16 years ago.

Status:ResolvidaStart date:24 Apr 2010
Priority:NormalDue date:
Assignee:Gabriel Winckler% Done:

100%

Category:-Estimated time:20.00 hours
Target version:-

Description

O Gaussian e Linda devem ser instalados.

History

#1 Updated by Ney Lemke over 16 years ago

  • Tracker changed from Problema to Implantação

#2 Updated by Gabriel Winckler over 16 years ago

  • Status changed from Nova to Execução

Pelo telefone falei com o Prof. Tognolli, que está com o software.

Ele está enviando para São Paulo.

#3 Updated by Gabriel Winckler over 16 years ago

  • Status changed from Execução to Teste
  • % Done changed from 0 to 100

Ontem (29/04) recebi por sedex o software.

Segue um roteiro da instalação do software e adaptações no cluster:

Instalação básica

Seguindo o instruído no manual, copiei o tgz e extraí. Depois rodei o script de instalação que só corrige as permissões.

O diretório escolhido como base foi o /opt/gaussian/ e a instalação ocorreu em /opt/gaussian/g09

Grupo de acesso

Como o Prof. Adelino requisitou explicitamente um controle sobre o uso do software, deixando claro que outros grupos de pesquisa também poderão utilizar, criei um grupo "gaussian" e atribui a esse grupo o software:

chgrp -R gaussian /opt/gaussian/g09

Com isso, para utiliza o software, o usuário precisa ser incluído nesse grupo.

Profile e ld.so.conf

Para carregar as variáveis de ambiente, foram criados os seguintes arquivos na Access e nos WorkerNodes:

/etc/profile.d/gaussian.sh

if [ -r /opt/gaussian/g09/bsd/g09.profile ]
then
    g09root=/opt/gaussian
    GAUSS_SCRDIR=/tmp
    export g09root GAUSS_SCRDIR

    . /opt/gaussian/g09/bsd/g09.profile
fi

/etc/profile.d/gaussian.csh

if (-r /opt/gaussian/g09/bsd/g09.login) then
    setenv g09root "/opt/gaussian" 
    setenv GAUSS_SCRDIR "/tmp" 

    source /opt/gaussian/g09/bsd/g09.login
endif

/etc/ld.so.conf.d/gaussian.conf

/opt/gaussian/g09/bsd
/opt/gaussian/g09/local
/opt/gaussian/g09/extras
/opt/gaussian/g09

Adaptações do universo paralelo do condor

Como esse programa é paralelo mas não utiliza MPI, modifiquei o job_wrapper do condor para identificar uma flag NoMPI

/opt/condor/bin/job_wrapper.sh

#!/bin/bash

source /etc/profile

UNIVERSE=$($(condor_config_val libexec)/condor_chirp get_job_attr JobUniverse 2>/dev/null)

if [ $? == 0 ] && [ $UNIVERSE == 11 ];
then
    NOMPI=$($(condor_config_val libexec)/condor_chirp get_job_attr NoMPI 2>/dev/null)
    if [ ${NOMPI}x == "TRUE"x ]
    then
        exec "$@" 
    else
        exec /opt/condor/bin/condor-impi.sh "$@" 
    fi
else
    exec "$@" 
fi

Criação do job_wrapper específico para o Gaussian

/opt/gaussian/gaussian-parallel.sh

#!/bin/sh

_CONDOR_PROCNO=$_CONDOR_PROCNO
_CONDOR_NPROCS=$_CONDOR_NPROCS

GAUSSIAN=/opt/gaussian/g09/g09

finalize()
{
  exit
}
trap finalize TERM

#Create a empty response file
touch ${1}.log

if [ $_CONDOR_PROCNO -eq 0 ]
then
    #Get the list of slots
    SLOTS=$($(condor_config_val libexec)/condor_chirp get_job_attr AllRemoteHosts)

    nodes=$(echo $SLOTS |  sed -e 's/\"\(.*\)\".*/\1/' -e 's/,/\n/g' -e 's/slot.\@//g' -e 's/.local/i/g' | sort | uniq -c | awk '{print $2":"$1}' | tr '\n' ',')
    echo $nodes 1>&2

    #Contact the worker noder by SSH
    export GAUSS_LFLAGS=" -opt 'Tsnet.Node.lindarsharg: ssh'" 

    #Add the nodes list
    sed -i 1i"%LindaWorkers=$nodes" ${1}.com

    ##Create a empty response file
    #touch ${2}.log

    $GAUSSIAN $@

else
    sleep 10
fi

exit $?

Testes e exemplo de submissão

Utilizando os exemplos que acompanham o software, testei diversas submissões, seriais e paralelas.

Criei uma página na wiki com o modelo de submissão:

https://www.ncc.unesp.br/twiki/bin/view/GuiaUsuario/GaussianSubmit

#4 Updated by Gabriel Winckler over 16 years ago

  • Project changed from NCC to Suporte (GridUNESP)

#5 Updated by Gabriel Winckler about 16 years ago

  • Status changed from Teste to Resolvida

Also available in: Atom PDF