====== SPARTA ======
SPARTA is an acronym for Stochastic PArallel Rarefied-gas Time-accurate Analyzer.
SPARTA is a parallel DSMC code for performing simulations of low-density gases in 2d or 3d. Particles advect through a hierarchical Cartesian grid that overlays the simulation box. The grid is used to group particles by grid cell for purposes of performing collisions and chemistry. Physical objects with triangulated surfaces can be embedded in the grid, creating cut and split grid cells. The grid is also used to efficiently find particle/surface collisions.
* Site web : http://sparta.sandia.gov/index.html
* Versions installées :
* 2016-07-11 : avec librairie Intel MPI et support du format d'images PNG. L'exécutable s'appelle ''spa_icc+intel_mpi''
* 2017-03-16 : avec librairie MPI, support des images PNG et JPEG. Deux versions sont disponibles :
* ''spa_icc+intel_mpi'' -> compilé avec le compilateur Intel et librairie Intel MPI
* ''spa_gcc+intel_mpi'' -> compilé avec le compilateur GNU et librairie Intel MPI
* 2017-12-17 :
* ''spa_icc+intel_mpi'' -> compilé avec le compilateur Intel et librairie Intel MPI
* ''spa_kokkos_cuda'' -> compilé avec GNU GCC + OpenMPI 1.8.2 + Cuda 7.5
* ''spa_kokkos_cuda_ompi1107'' -> compilé avec GNU GCC + OpenMPI 1.10.7 + Cuda 7.5
===== Citer SPARTA =====
Si vous utilisez Sparta pour des travaux faisant l'objet de publications, vous êtes invité à porter attention au [[http://sparta.sandia.gov/doc/Section_intro.html | manuel de Sparta]], qui précise la chose suivante :
1.5 Acknowledgments and citations
SPARTA development has been funded by the US Department of Energy (DOE).
If you use SPARTA results in your published work, please cite the paper(s) listed under
the Citing SPARTA link of the SPARTA WWW page, and include a pointer to the SPARTA WWW
Site (http://sparta.sandia.gov):
The Publications link on the SPARTA WWW page lists papers that have cited SPARTA. If your
paper is not listed there, feel free to send us the info. If the simulations in your paper
produced cool pictures or animations, we'll be pleased to add them to the Pictures or Movies
pages of the SPARTA WWW site.
The core group of SPARTA developers is at Sandia National Labs:
Steve Plimpton, sjplimp at sandia.gov
Michael Gallis, magalli at sandia.gov
===== Utilisation =====
==== Sélection de la version ====
Pour sélectionner la version voulue : utiliser les [[:modules]]
Par exemple :
module load sparta/2016-07-11
==== Exemple de fichier batch ====
Dans l'exemple suivant, nous lançons //sparta// sur 4 processeurs :
#!/bin/bash
#
#SBATCH --partition=normal
#SBATCH --tasks=4
#SBATCH --cpus-per-task=1
#SBATCH --mem=2g
module load sparta
srun spa_icc+intel_mpi -sc none < in.free
Notes sur les différentes versions, avec support GPU / MPI
* Sparta 23Dec2017 avec Kokkos (GPU) + OpenMPI 1.8.2
#SBATCH --tasks=1
#SBATCH --gres=gpu:2
module unload configuration
module load sparta/2017-12-23
module load mpi/openmpi/1.8.2-gcc64
# Uniquement en mono-tâche :
mpirun spa_kokkos_cuda -sc none -sf kk -k on g 2 -pk kokkos reduction atomic comm threaded -v x 16 -v y 10 -v z 20 -v t 100 -in in.sphere -log "log.sparta.$SLURM_JOBID"
# On comme ça avec plusieurs processus :
srun --mpi=pmi2 spa_kokkos_cuda -sc none -sf kk -k on g 2 -pk kokkos reduction atomic comm threaded -v x 16 -v y 10 -v z 20 -v t 100 -in in.sphere -log "log.sparta.$SLURM_JOBID"
* Sparta 23Dec2017 avec Kokkos (GPU) + OpenMPI 1.10.7 : arrive à fonctionner en parallèle
#SBATCH --tasks=2
#SBATCH --gres=gpu:4
module load sparta/2017-12-23
module load mpi/openmpi/1.10.7-gcc64
module load gcc/4.9.4
srun --mpi=pmi2 spa_kokkos_cuda_ompi1107 -sc none -sf kk -k on g 2 -pk kokkos reduction atomic comm threaded -v x 16 -v y 10 -v z 20 -v t 100 -in in.sphere -log "log.sparta.$SLURM_JOBID"