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.
spa_icc+intel_mpi
spa_icc+intel_mpi
→ compilé avec le compilateur Intel et librairie Intel MPIspa_gcc+intel_mpi
→ compilé avec le compilateur GNU et librairie Intel MPIspa_icc+intel_mpi
→ compilé avec le compilateur Intel et librairie Intel MPIspa_kokkos_cuda
→ compilé avec GNU GCC + OpenMPI 1.8.2 + Cuda 7.5spa_kokkos_cuda_ompi1107
→ compilé avec GNU GCC + OpenMPI 1.10.7 + Cuda 7.5Si vous utilisez Sparta pour des travaux faisant l'objet de publications, vous êtes invité à porter attention au 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
Pour sélectionner la version voulue : utiliser les modules
Par exemple :
module load sparta/2016-07-11
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
#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"
#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"