Installation et configuration de programmes de benchmarking

Vous devez installer et exécuter 7 programmes de test de performances (6 CNLC et 1 STREAM) sur tous les noeuds de traitement qui calculeront les coefficients (ou les rendre disponibles dans un emplacement accessible par tous les noeuds de traitement).

A propos de cette tâche

Remarque: Exécutez chaque programme de benchmarking en tant que racine.
Remarque: Pour de meilleures performances avec STREAM, il est recommandé d'utiliser icc pour compiler STREAM.
Important: Après avoir installé des programmes de benchmarking, redémarrez le cluster LSF.

Les étapes suivantes vous guideront lors du téléchargement et de l'installation de ces programmes d'analyse comparative:

Procédure

  1. Téléchargez le code source NPB-NAS (Version: CNLC 3.3). benchmark parallèle (https://www.nas.nasa.gov/cgi-bin/software/start). Les six tests de performances de la CNLC 3.3 sont les suivants: bt.C, cg.C, ep.D, lu.C, sp.Cet ua.C.
  2. Téléchargez le code source STREAM (http://www.cs.virginia.edu/stream/FTP/Code/).
  3. Décompressez les tests de performances NPB3.3 dans les noeuds de traitement et accédez au répertoire NPB-OMP. Par exemple :
    ~/benchmarks/NASA/NPB3.3/NPB3.3-OMP # ls -F
    BT/  CG/  DC/  EP/  FT/  IS/  LU/  MG/  
    Makefile*  README*  README.install*  
    SP/  UA/  bin/  common/  config/  sys/
  4. Intégrer le code source STREAM au code source NASA-OMP:
    1. Créez un répertoire appelé ST sous le répertoire NPB3.3-OMP et copiez le code source STREAM dans ce répertoire. Par exemple :
      ~/benchmarks/NASA/NPB3.3/NPB3.3-OMP/ST # ls
      HISTORY.txt  LICENSE.txt  Makefile  READ.ME  mysecond.c  stream.c 
      stream.c.5.10  stream.f
    2. Modifiez le fichier STREAM Makefile en fonction du style NPB3.3-OMP . Par exemple :
      ~/benchmarks/NASA/NPB3.3/NPB3.3-OMP/ST # cat Makefile
      SHELL=/bin/sh
      BENCHMARK=st
      BENCHMARKU=ST
      
      include ../config/make.def
      
      OBJS = stream.o 
      
      include ../sys/make.common
      ${PROGRAM}: ${OBJS}
              ${CLINK} ${CLINKFLAGS} -o ${PROGRAM} ${OBJS} ${C_LIB}
      stream.o:               stream.c 
              ${CCOMPILE} stream.c
      clean:
              - rm -f *.o *~ 
              - rm -f core
              - if [ -d rii_files ]; then rm -r rii_files; fi
    3. Modifiez le fichier Makefile NPB3.3-OMP pour ajouter le test de performances STREAM. Voici un exemple de fichier Makefile NPB3.3-OMP :
      ~/benchmarks/NASA/NPB3.3/NPB3.3-OMP # cat Makefile
      SHELL=/bin/sh
      CLASS=W
      VERSION=
      SFILE=config/suite.def
      
      default: header
              @ sys/print_instructions
      
      BT: bt
      bt: header
              cd BT; $(MAKE) CLASS=$(CLASS) VERSION=$(VERSION)
      ST: st
      st: header             
              cd ST; $(MAKE) CLASS=$(CLASS)
    4. Générez le fichier de définition NPB3.3-OMP à partir de suite.template et sélectionnez les tests de performances à utiliser pour l'énergie LSF. Par exemple :

      ~/benchmarks/NASA/NPB3.3/NPB3.3-OMP/config # cp suite.def.template suite.def

    5. Modifiez le fichier suite.def comme suit:
      ~/benchmarks/NASA/NPB3.3/NPB3.3-OMP/config # cat suite.def
      # config/suite.def
      # This file is used to build several benchmarks with a single command. 
      # Typing "make suite" in the main directory will build all the benchmarks
      # specified in this file. 
      # Each line of this file contains a benchmark name and the class.
      # The name is one of "cg", "is", "dc", "ep", mg", "ft", "sp",
      #  "bt", "lu", and "ua". 
      # The class is one of "S", "W", "A" through "E" 
      # (except that no classes C,D,E for DC and no class E for IS and UA).
      # No blank lines. 
      # The following example builds sample sizes of all benchmarks. 
      sp      C
      lu      C
      bt      C
      ep      D
      cg      C
      ua      C
      st      U
      Remarque: La dernière ligne st U est destinée au test de performances STREAM.
    6. Générez make.def à partir de make.def.template et configurez le nom du compilateur.
      Remarque: GCC et GFortran sont requis sur chaque noeud de traitement pour compiler les données de test de performances. Définissez le nom de compilateur approprié dans le fichier make.def :
      make.def:
      ...
      CC = cc
      F77 = gfortran
  5. Compilez les tests de performances:
    ~/benchmarks/NASA/NPB3.3/NPB3.3-OMP # make suite
    Les fichiers binaires sont sauvegardés dans le répertoire bin NPB3.3-OMP :
    ~/benchmarks/NASA/NPB3.3/NPB3.3-OMP # cd bin
    ~/benchmarks/NASA/NPB3.3/NPB3.3-OMP/bin # ls
    bt.C  cg.C  ep.D  lu.C  sp.C  st.U  ua.C