Gkeyll¶
Description¶
Gkeyll v2.0 (pronounced as in the book “The Strange Case of Dr. Jekyll and Mr. Hyde”) is a computational plasma physics code mostly written in C and LuaJIT. Gkeyll contains solvers for gyrokinetic equations, Vlasov-Maxwell equations, and multi-fluid equations.
The Gkeyll package contains two major parts: the gkyl simulation framework and the the postgkyl post-processing package.
Environment Modules¶
Run module spider gkeyll
to find out what environment modules are available for this application.
Environment Variables¶
- HPC_GKEYLL_DIR - installation directory
- HPC_GKEYLL_BIN - executable directory
- HPC_GKEYLL_LIB - library directory
Job Script Examples¶
Note
The user must decide the number of tasks and how they are distributed. This depends on on the availability of resources and the extent of the parallelization of the software. Also user must specify the the account $SBATCH --account
and the Quality of Service #SBATCH --qos
must be specified.
Below is an example job script using Gkeyll:
#!/bin/bash
#SBATCH --time # wall time
#SBATCH --ntasks= # number of mpi processes
#SBATCH --cpus-per-task= # Number of OpenMP threads for each MPI process/rank
#SBATCH --nodes= # Number of nodes
#SBATCH --ntasks-per-node= # How many tasks on each node
#SBATCH --ntasks-per-socket= # How many tasks on each CPU or socket
#SBATCH --mem-per-cpu= # Memory per core
# load modules
module load openmpi/4.1.5
module load openblas/0.3.24
module load superlu_dist/6.0.1
module load metis/5.2.
# run the program
srun --mpi=pmix_v3 gkyl input.lua >& output.log
Categories¶
Plasma Physics