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
developpement:activites:integration:par4all4wheezy [2013/09/26 21:28]
equemene [Pour utiliser P4A en mode OpenMP]
developpement:activites:integration:par4all4wheezy [2015/01/07 10:04] (Version actuelle)
Ligne 1: Ligne 1:
 ====== Installation de Par4All sous Debian Wheezy ====== ====== Installation de Par4All sous Debian Wheezy ======
- 
- 
-<note important>​En construction</​note>​ 
  
 <note important>​Cette page présente l'​installation de par4all pour les versions 1.4 de Par4All. </​note>​ <note important>​Cette page présente l'​installation de par4all pour les versions 1.4 de Par4All. </​note>​
Ligne 247: Ligne 244:
 ==== Pour utiliser P4A en mode Cuda ==== ==== Pour utiliser P4A en mode Cuda ====
  
-Utilisation directe+Utilisation directe ​avec la commande suivante ne fonctionne pas avec la version 1.4 de par4all et le paquet Debian rétroporté du SDK CUDA version 5.5.
 <​code>​ <​code>​
-export CUDA_DIR=/opt/cuda+export CUDA_DIR=/usr/lib/nvidia-cuda-toolkit/
 p4a --cuda -vv matrix.c --fine -o matrix-cuda p4a --cuda -vv matrix.c --fine -o matrix-cuda
 </​code>​ </​code>​
 +
 +Nous allons explorer une autre solution :
  
 Utilisation avec compilation séparée Utilisation avec compilation séparée
 <​code>​ <​code>​
-export CUDA_DIR=/​opt/​cuda 
 # Appel de Par4all # Appel de Par4all
 p4a --fine --cuda -vv matrix.c p4a --fine --cuda -vv matrix.c
 # Compilation des sources CUDA avec le compilateur Nvidia # Compilation des sources CUDA avec le compilateur Nvidia
-nvcc --cuda -I$CUDA_DIR/include -DP4A_ACCEL_CUDA -I/​opt/​par4all-1.3/​share/​p4a_accel -o matrix.p4a.cpp matrix.p4a.cu +nvcc --cuda -I/usr/include -DP4A_ACCEL_CUDA -I/​opt/​par4all/​share/​p4a_accel -o matrix.p4a.cpp matrix.p4a.cu 
-nvcc --cuda -I$CUDA_DIR/include -DP4A_ACCEL_CUDA -I/​opt/​par4all-1.3/​share/​p4a_accel -o p4a_accel.cpp /​opt/​par4all-1.3/​share/​p4a_accel/​p4a_accel.cu+nvcc --cuda -I/usr/include -DP4A_ACCEL_CUDA -I/​opt/​par4all/​share/​p4a_accel -o p4a_accel.cpp /​opt/​par4all/​share/​p4a_accel/​p4a_accel.cu
 # Compilation des deux sources # Compilation des deux sources
-g++ -c -I$CUDA_DIR/include -DP4A_ACCEL_CUDA -I/​opt/​par4all-1.3/​share/​p4a_accel -Wall -fno-strict-aliasing -fPIC -O3 -o matrix.p4a.o matrix.p4a.cpp +g++ -c -I/usr/include -DP4A_ACCEL_CUDA -I/​opt/​par4all/​share/​p4a_accel -Wall -fno-strict-aliasing -fPIC -O3 -o matrix.p4a.o matrix.p4a.cpp 
-g++ -c -I$CUDA_DIR/include -DP4A_ACCEL_CUDA -I/​opt/​par4all-1.3/​share/​p4a_accel -Wall -fno-strict-aliasing -fPIC -O3 -o p4a_accel.o p4a_accel.cpp+g++ -c -I/usr/include -DP4A_ACCEL_CUDA -I/​opt/​par4all/​share/​p4a_accel -Wall -fno-strict-aliasing -fPIC -O3 -o p4a_accel.o p4a_accel.cpp
 # Compilation finale de l'​executable # Compilation finale de l'​executable
-g++ -L$CUDADIR/lib64 -L$CUDADIR/lib -Bdynamic -lcudart -o matrix-cuda matrix.p4a.o p4a_accel.o+g++ -L/usr/lib/​x86_64-linux-gnu ​-Bdynamic -lcudart -o matrix-CUDA matrix.p4a.o p4a_accel.o
 # Effacement des fichiers intermédiaires inutiles # Effacement des fichiers intermédiaires inutiles
 rm p4a_accel.o p4a_accel.cpp rm p4a_accel.o p4a_accel.cpp
 </​code>​ </​code>​
 +
 +En lançant la ''/​usr/​bin/​time ./​matrix-CUDA''​
 +
 +<​code>​
 +/​usr/​bin/​time ./​matrix-CUDA ​
 +La trace de la matrice est 18428734073246580736.00
 +2.81user 1.01system 0:​03.84elapsed 99%CPU (0avgtext+0avgdata 122360maxresident)k
 +0inputs+88outputs (0major+27380minor)pagefaults 0swaps
 +</​code>​
 +
  
 ==== Pour utiliser P4A en mode OpenCL ==== ==== Pour utiliser P4A en mode OpenCL ====
Ligne 275: Ligne 283:
 Utilisation simple passe Utilisation simple passe
 <​code>​ <​code>​
-p4a --opencl -vvv matrix.c -o matrix-ocl+p4a --opencl -vvv matrix.c -o matrix-OpenCL
 </​code>​ </​code>​
  
-Utilisation double passe+Son exécution donne ''/​usr/​bin/​time ./​matrix-OpenCL''​
 <​code>​ <​code>​
 +La trace de la matrice est 18428734073246580736.00 
 +3.39user 3.22system 0:​06.66elapsed 99%CPU (0avgtext+0avgdata 156856maxresident)k 
 +32inputs+112outputs (0major+38185minor)pagefaults 0swaps
 </​code>​ </​code>​
-===== Exemple ===== 
  
- --- //​[[emmanuel.quemener@ens-lyon.fr|Emmanuel Quemener]] ​2011/11/06 17:38//+===== Analyse des résultats ===== 
 + 
 + 
 + 
 + 
 + 
 + --- //​[[emmanuel.quemener@ens-lyon.fr|Emmanuel Quemener]] ​2013/09/26 21:44//
developpement/activites/integration/par4all4wheezy.1380223693.txt.gz · Dernière modification: 2015/01/07 10:04 (modification externe)