[[FaqLpscToc]] = Serveurs et Ferme locale de calcul = == Serveurs de calcul == Des serveurs de calcul sont mis à la disposition des utilisateurs du LPSC. Certains sont réservés à l'usage de groupe alors que d'autres sont à usage général. La liste de ces serveurs et leur fonction est donnée sur la page [wiki:ServeursLpsc#Serveursdecalcul]. * Pour se logger sur ces serveurs, utilisez vos login et mot-de-passe habituels. * Sur ces serveurs les applications sont installées dans `/utils`. * Setup de ROOT (a data Analysis Framework) : {{{ setenv ROOTSYS /utils/SLC4/ROOT/root_v5.28.00/root setenv PATH $ROOTSYS/bin:$PATH setenv LD_LIBRARY_PATH $ROOTSYS/lib }}} == Ferme locale == Le LPSC s'est doté d'une ferme de calcul locale. Les serveurs de calculs sont homogènes : ils sont tous installés avec une version récente de Scientific Linux (SL6) et les même logiciels sont installés sur tous les serveurs. Pour en avoir la liste, `ls /utils/`. En date de février 2014 : {{{ [@lpsc-c2 ~]$ ls /utils/ Acrobat5 GEANT4 matlab6p5-old root-old seamonkey-installer Acrobat5.08 geant4.4.1 migration_mageia.tar root_v3.05.07 SL5 Adobe geant4.4.1.p01 migration_mageia.tar.bz2 root_v3.05.07.Linux.RH7.3.gcc32 SL6 bin geant4.4.1.p01.tar mozilla root_v3.10.01.Linux.RH7.3 SLC3 browser grace nag root_v3.10.02 SLC4 CentOS-6.4 graphics navigateur root_v3.10.02-gcc3.3.2 ssl cern JAVA netscape root_v4.00.06.Linux.RH7.3-scl3.gcc3.2 staroffice6.0 CLHEP LCG netscape7.1 root_v4.00.08.Linux.RH7.3-slc3.gcc3.2.3 staroffice7.0 dawn_3_85a lheasoft netscape7.2 root_v4.02.00.Linux-slc3.gcc3.2.3 staroffice8 developpement lost+found opt root_v4.03.04.Linux.slc3.gcc3.2.3 thunderbird G4EMLOW1.1 man pgi root_v5.11.02.Linux.slc3.gcc3.2.3 thunderbird10 G4NDL3.5 mathematica pgi-old root_v5.11.02.Linux.slc3.gcc3.2.3.tar thunderbird2 gcc MATLAB pgplot root_v5.30.Linux.Mageia1 thunderbird3 gcc-3.2 matlab13 profile.d rsi usr gcc-3.3.2 matlab6 redhat9.0 seamonkey VMWare geant4 matlab6p5 root seamonkey2 [@lpsc-c2 ~]$ }}} L'accès à ces serveurs de calcul se fait par `ssh` avec votre login/mdp habituel. La liste de ces serveurs (`lpsc-c*`) est donnée sur la page [wiki:ServeursLpsc#Serveursdecalcul]. == Utilisation de MPI sur la ferme locale == En premier vous devez ajouter /opt/mpich-1.2.7p1/bin à votre PATH. Essayer ensuite de d'utiliser un des deux codes d'exemple suivants (en fonction du language désiré) : {{{ c Fortran example program hello include 'mpif.h' integer rank, size, ierror, tag, status(MPI_STATUS_SIZE) call MPI_INIT(ierror) call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierror) call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierror) print*, 'node', rank, ': Hello world' call MPI_FINALIZE(ierror) end }}} ou {{{ #include #include int main(int argc, char** argv){ int rank, size; MPI_Init (&argc, &argv); /* starts MPI */ MPI_Comm_rank (MPI_COMM_WORLD, &rank); /* get current process id */ MPI_Comm_size (MPI_COMM_WORLD, &size); /* get number of processes */ char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_len; MPI_Get_processor_name(processor_name, &name_len); printf( "Hello world from process %d of %d executed on %s\n", rank, size, processor_name ); MPI_Finalize(); return 0; } }}} Pour compiler : mpif77 code.f ou mpicc code.c Pour exécuter : mpirun -np 4 a.out ( => lance sur 4 processeurs) Lors de l'exécution, une connexion ssh sera effectuée sur chacun des noeuds. Afin de faciliter ces connexions, vous pouvez mettre au point une clé privée/publique, afin de ne pas toujours devoir saisir votre mot de passe. De nombreuses options existent pour configurer le nombre de processeurs, les machines à utiliser. N'hésitez pas à lire l'aide de mpirun : mpirun -help.