[[FaqLpscToc]]
= Machines communes =
== 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.
\\
\\
== Ferme de machines communes ==
Le LPSC est doté d'une ferme de machines communes locales, dénommées lpsc-c* (de c0 à c12 en juillet 2018). Ces machines ont été installées dans 3 pools de versions différentes de Linux : SL6, Centos7 ou Fedora25. Chaque pool est composé de machines installées de façon identique (via le logiciel QUATTOR). Toutes mises à jour ou ajouts de paquets sur une machine seront répercutés sur le pool.
L'accès à ces machines s'effectue par `ssh -X` avec votre login/mot de passe habituel. Il est possible de les utiliser en mode interactif ou en batch (le batch n'est pas encore configuré et le sera en août 2018).
Monitoring disponible sur https://lpsc-monitoring.in2p3.fr
Sur toutes ces machines, voilci les applications recommandées pour les différents types de fichiers (n'hésitez pas à nous contacter pour agrandir cette liste) :
- images => display
- pdf => evince
- texte => vi, emacs, gedit, nedit
Pour toutes ces machines, certains logiciels sont utilisables quelque soit le système d'exploitation :
- Matlab est installé dans /utils/MATLAB
Setup de ROOT :
{{{
setenv ROOTSYS /utils/xxx/root
setenv PATH $ROOTSYS/bin:$PATH
setenv LD_LIBRARY_PATH $ROOTSYS/lib
}}}
Pour les serveurs en SL6 (7 machines : lpsc-c2 => lpsc-c8), voici la liste des logiciels installés (visible en interne seulement) :
{{{
#!html
}}}
Pour les serveurs en Centos7 (4 machines : lpsc-c1, lpsc-c9 => lpsc-c11 ; lpsc-c0 sera prochainement ajoutée à cette liste), voici la liste des logiciels installés (visible en interne seulement) :
{{{
#!html
}}}
Pour les serveurs en Fedora (1 machine : lpsc-c12), voici la liste des logiciels installés (visible en interne seulement) : pour bientôt
\\
\\
== 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.