Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| developpement:activites:integration:lammpsgpu4wheezy [2013/11/07 13:50] – [Compilation avec FFTW et OpenMPI] equemene | developpement:activites:integration:lammpsgpu4wheezy [2013/11/08 08:14] (Version actuelle) – [Compilation avec FFTW et OpenMPI] equemene | ||
|---|---|---|---|
| Ligne 69: | Ligne 69: | ||
| ln -s Makefile.lammps.gfortran Makefile.lammps </ | ln -s Makefile.lammps.gfortran Makefile.lammps </ | ||
| - Compilation de la librairie AWPMD< | - Compilation de la librairie AWPMD< | ||
| + | sed -i " | ||
| make -f Makefile.openmpi clean | make -f Makefile.openmpi clean | ||
| make -f Makefile.openmpi | make -f Makefile.openmpi | ||
| Ligne 163: | Ligne 164: | ||
| < | < | ||
| cp Makefile.serial Makefile.cuda_fftw | cp Makefile.serial Makefile.cuda_fftw | ||
| - | sed -i " | + | sed -i " |
| - | sed -i " | + | sed -i " |
| cd $LAMMPSROOT/ | cd $LAMMPSROOT/ | ||
| make yes-asphere | make yes-asphere | ||
| Ligne 196: | Ligne 197: | ||
| sed -i " | sed -i " | ||
| sed -i " | sed -i " | ||
| - | |||
| make -f Makefile.mpic++ clean | make -f Makefile.mpic++ clean | ||
| make -f Makefile.mpic++ | make -f Makefile.mpic++ | ||
| Ligne 202: | Ligne 202: | ||
| === Préparation du Makefile pour GPU === | === Préparation du Makefile pour GPU === | ||
| + | |||
| + | La librairie GPU doit être compilée en fonction du GPU à disposition : Nvidia fournit un tableau dans sa [[https:// | ||
| + | |||
| + | Ce qu'il faut retenir : | ||
| + | * Pour une carte Tesla | ||
| + | * sm_10 : basique | ||
| + | * sm_11 : opérations atomiques en mémoire globale | ||
| + | * sm_12 : opérations atomiques en mémoire partagée | ||
| + | * sm_13 : support de la double précision | ||
| + | * Pour une carte Fermi : | ||
| + | * sm_20 | ||
| + | * sm_21 | ||
| + | * Pour une carte Kepler : | ||
| + | * sm_30 | ||
| + | * sm_35 | ||
| + | |||
| + | Par exemple, une carte GTX Titan est équipé d'un circuit Kepler. Nous avons donc :< | ||
| + | </ | ||
| Si les composants sont ceux des paquets Debian Wheezy, bindés dans ''/ | Si les composants sont ceux des paquets Debian Wheezy, bindés dans ''/ | ||
| < | < | ||
| cd $LAMMPSROOT/ | cd $LAMMPSROOT/ | ||
| + | # Modification de la racine de CUDA | ||
| sed -i ' | sed -i ' | ||
| + | # Modification de l' | ||
| + | sed -i ' | ||
| + | # Modification du compilateur mpic++ (force a OpenMPI) | ||
| + | sed -i " | ||
| make -f Makefile.linux clean | make -f Makefile.linux clean | ||
| - | make -f Makefile.linux | + | make -j 4 -f Makefile.linux |
| ./ | ./ | ||
| </ | </ | ||
| Ligne 216: | Ligne 239: | ||
| < | < | ||
| cp Makefile.openmpi Makefile.cuda_openmpi | cp Makefile.openmpi Makefile.cuda_openmpi | ||
| - | sed -i " | + | sed -i " |
| - | sed -i " | + | sed -i " |
| + | sed -i " | ||
| cd $LAMMPSROOT/ | cd $LAMMPSROOT/ | ||
| make yes-asphere | make yes-asphere | ||
| Ligne 227: | Ligne 251: | ||
| < | < | ||
| - | make cuda_openmpi</ | + | make -j 4 cuda_openmpi</ |
| Si la compilation est réussie, un exécutable '' | Si la compilation est réussie, un exécutable '' | ||