[cig-commits] [commit] devel, master: added Kevin Pouget's description of the new OpenCL routines to the manual (99c106b)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Thu Nov 6 08:16:08 PST 2014
Repository : https://github.com/geodynamics/specfem3d_globe
On branches: devel,master
Link : https://github.com/geodynamics/specfem3d_globe/compare/bc58e579b3b0838a0968725a076f5904845437ca...be63f20cbb6f462104e949894dbe205d2398cd7f
>---------------------------------------------------------------
commit 99c106b7f1255f54e500e789f0a8bb1b81450f57
Author: Dimitri Komatitsch <komatitsch at lma.cnrs-mrs.fr>
Date: Fri May 16 01:39:57 2014 +0200
added Kevin Pouget's description of the new OpenCL routines to the manual
>---------------------------------------------------------------
99c106b7f1255f54e500e789f0a8bb1b81450f57
doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.pdf | Bin 24396315 -> 24398437 bytes
doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex | 46 +++++++++++++++++++++++++++++
2 files changed, 46 insertions(+)
diff --git a/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.pdf b/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.pdf
index a2653a1..aa2c22c 100644
Binary files a/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.pdf and b/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.pdf differ
diff --git a/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex b/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex
index ebc0240..b116d71 100644
--- a/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex
+++ b/doc/USER_MANUAL/manual_SPECFEM3D_GLOBE.tex
@@ -423,6 +423,52 @@ when undoing attenuation using the UNDO\_ATTENUATION option in DATA/Par\_file.
To do so, ask your system administrator for the option to add to your batch submission script; it is for instance
\texttt{\#BSUB -x} with SLURM and \texttt{\#\$ -l exclusive=TRUE} with Sun Grid Engine (SGE).
+\section{Using the GPU version of the code}
+
+This was written by Kevin Pouget from Grenoble, France, in May 2014; it should be translated to English at some point (in the meantime
+users can cut and paste it in Google Translate or similar):
+
+We have now added OpenCL support.
+Au niveau de la configuration, OpenCL s'active de la facon suivante:
+
+ ./configure --with-opencl OCL\_LIB=.. OCL\_INC=.. OCL\_GPU\_FLAGS=..
+
+La configuration avec CUDA n'a pas chang\'e,
+
+ ./configure --with-cuda=cuda5 CUDA\_FLAGS=.. CUDA\_LIB=.. CUDA\_INC=.. MPI\_INC=.. ..
+
+et les deux runtimes peuvent \^etre compile simultan\'ement en mergeant les deux lignes.
+
+Au niveau de la configuration runtime, nous avons ajoute 3 options en plus du GPU\_MODE:
+
+ GPU\_MODE = .true.
+ GPU\_RUNTIME = 2
+ GPU\_PLATFORM = NVIDIA
+ GPU\_DEVICE = Tesla
+
+ GPU\_RUNTIME, GPU\_PLATFORM, GPU\_DEVICE ne sont pas parse si le GPU\_MODE n'est pas active
+ GPU\_RUNTIME peut prendre les valeurs 2 (OpenCL), 1 (Cuda) ou 0 (Compile-time, qui ne marche pas si specfem a ete compile avec --with-opencl et --with-cuda)
+ GPU\_PLATFORM et GPU\_DEVICE sont des filtres (case insensitive) sur le nom de la plate-forme et du device en OpenCL, et uniquement le nom du device en Cuda
+ en multi-processeur (MPI), chaqu'un des processus prendra un GPU dans ce sous ensemble, en round-robin
+ un filtre "*" matchera toutes les plate-formes/devices
+
+Sinon pas de modification importante je pense, le dossier src/cuda s'appelle maintenant src/gpu et, pareil, les wrappers Fortran/C ont \'et\'e renommes \_gpu au lieu de \_cuda.
+Dans le code, --with-opencl active la macro pr\'eprocesseur USE\_OPENCL, et --with-cuda active USE\_CUDA ; et GPU\_RUNTIME va activer la variable globale run\_opencl ou run\_cuda.
+Et comme le disait Brice, le support des textures n'a pas ete valide en OpenCL. Le code est ecrit et compile, mais il faudra finir le debugging quand les plate-formes
+supporteront OpenCL 1.2.
+
+Nous avons test\'e l'ex\'ecution sur les exemples regional\_Greece\_small et global\_s362ani\_small, et les sismogrammes sont identiques a ceux g\'en\'er\'es par la version d'origine.
+
+Note about the OpenCL version: the OpenCL calculation kernels were created by Brice Videau and Kevin Pouget from Grenoble, France, using their software package called
+BOAST; see:
+
+Title BOAST: Bringing Optimization through Automatic Source-to-Source Tranformations
+Publication Type Conference Proceedings
+Year of Publication 2013
+Authors Videau, B, Marangozova-Martin, V, Cronsioe, J
+Secondary Title Tokyo, Japan
+Series Title Proceedings of the 7th International Symposium on Embedded Multicore/Manycore System-on-Chip (MCSoC)
+
\section{Compiling on an IBM BlueGene}
\underline{More recent installation instruction for IBM BlueGene, from October 2012:}\\
More information about the CIG-COMMITS
mailing list