Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
formation:insa2018gpu:insa2018pkdgrav4stretch [2018/11/27 14:39]
equemene
formation:insa2018gpu:insa2018pkdgrav4stretch [2018/11/27 15:26] (Version actuelle)
equemene [Compilation d'une version fonctionnelle]
Ligne 1: Ligne 1:
 +[[formation:​insa2018gpu|Retour aux travaux pratiques]]
 +
 ====== Compilation de PKDGRAV3 ====== ====== Compilation de PKDGRAV3 ======
  
Ligne 30: Ligne 32:
 ===== Compilation d'une version fonctionnelle ===== ===== Compilation d'une version fonctionnelle =====
  
-===== Exécution ​d'​une ​version fonctionnelle =====+La recette pour compiler PKDGRAV3 ​ ur du Debian Stretch 9.0 est la suivante : 
 +  - Définition de la variable TIME pour la métrologie : <​code>​export TIME=$(cat '/​etc/​time_command.cfg'​)</​code>​ 
 +  - Création du dossier utilisateur :<​code>​mkdir -p /​local/​$USER</​code>​ 
 +  - Placement dans le dossier créé :<​code>​cd /​local/​$USER</​code>​ 
 +  - Récupération du source <​code>​wget http://​www.cbp.ens-lyon.fr/​emmanuel.quemener/​software/​pkdgrav-20181008.tgz</​code>​ 
 +  - Expansion de l'​archive : <​code>​tar xzf pkdgrav-20181008.tgz</​code>​ 
 +  - Passage dans le dossier de l'​archive : <​code>​cd pkdgrav-20181008</​code>​ 
 +  - Création ​d'​une ​variable positionnant la racine du source : <​code>​export PKDGRAV3=$PWD</​code>​ 
 +  - Création d'un dossier de construction : <​code>​mkdir build</​code>​ 
 +  - Passage dans le dossier de construction : <​code>​cd build</​code>​ 
 +  - Construction des tâches de compilation : <​code>​CC=gcc-4.9 CXX=g++-4.9 cmake ..</​code>​ 
 +  - Compilation du programme en mode parallèle : <​code>​make -j 16 > pkdgrav3-Compile-$(date "​+%Y%m%d-%H%M"​) 2>&​1</​code>​
  
 +===== Exécution de l'​exemple fourni dans l'​environnement du CBP =====
  
 +  - Déplacement dans le dossier d'​exemples : <​code>​cd $PKDGRAV3/​examples</​code>​
 +  - Lancement de l'​exemple sur GPU : <​code>/​usr/​bin/​time ../​build/​pkdgrav3 cosmology.par > cosmology-$(date "​+%Y%m%d-%H%M%S"​).out 2>&​1</​code>​
 +  - Préparation du lancement sur CPU : <​code>​rm .lockfile example.*</​code>​
 +  - Lancement de l'​exemple sur CPU : <​code>/​usr/​bin/​time ../​build/​pkdgrav3 -cqs 0 cosmology.par > cosmology-$(date "​+%Y%m%d-%H%M%S"​).out 2>&​1</​code>​
  
 +Les deux fichiers de sortie en ''​*.out''​ donnent les informations sur les exécutions et la métrologie associée. Un ''​grep''​ sur le mot ''​Elapsed''​ extrait les temps d'​exécution sur GPU et CPU.
  
  
  
formation/insa2018gpu/insa2018pkdgrav4stretch.1543325988.txt.gz · Dernière modification: 2018/11/27 14:39 par equemene