wiki:FermeLocale

Version 12 (modified by /O=GRID-FR/C=FR/O=CNRS/OU=LPSC/CN=Frederic Melot, 10 years ago) ( diff )

--

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 ServeursLpsc.

  • 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 ServeursLpsc.

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 <stdio.h>
#include <mpi.h>

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.

Note: See TracWiki for help on using the wiki.