Skip to content

Commit

Permalink
Updating PPPL platform files for Portal and Flux clusters, with GACOD…
Browse files Browse the repository at this point in the history
…E_PLATFORM = PPPL_PORTAL and PPPL_FLUX
  • Loading branch information
jfparisi committed Apr 25, 2024
1 parent ab96729 commit 1316315
Show file tree
Hide file tree
Showing 10 changed files with 201 additions and 0 deletions.
37 changes: 37 additions & 0 deletions platform/build/make.inc.PPPL_FLUX
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#---------------------------------------------------
# PPPL Systems (FLUX)
# with Intel Compiler and OpenMPI
#---------------------------------------------------
# L. Peterson ([email protected])
# D. Mikkelsen ([email protected])
# N. Ferraro ([email protected])
# B.A. Grierson ([email protected])
# J Parisi -- [email protected]

IDENTITY="PPPL FLUX cluster"
CORES_PER_NODE=1
NUMAS_PER_NODE=1

# Compilers (intel) and flags
FC = mpif90 -gen-interfaces -module ${GACODE_ROOT}/modules -I${GACODE_ROOT}/modules -I${MKLROOT}/include/fftw -I$(NETCDF_FORTRAN_HOME)/include
F77 = ${FC}

FOMP = -qopenmp
FMATH = -real-size 64
FOPT = -O2
FDEBUG = -check all -traceback
F2PY = f2py

# System math libraries
LMATH = -mkl

# NetCDF
NETCDF = -L${NETCDF_FORTRAN_HOME}/lib -lnetcdff -L${NETCDF_C_HOME}/lib -lnetcdf
NETCDF_INC =-I${NETCDF_FORTRAN_HOME}/include -I${NETCDF_C_HOME}/include

# Mapping
%.o : %.mod

# Archive
ARCH = ar cr

35 changes: 35 additions & 0 deletions platform/build/make.inc.PPPL_PORTAL
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#---------------------------------------------------
# PPPL Portal Systems (ellis, dawson, kestrel, kite and kruskal)
# with gcc compiler and OpenMPI, updated as of April 25 2024.
#---------------------------------------------------
# S. Smith ([email protected])
# J. Parisi ([email protected])

IDENTITY="PPPL Portal cluster"
CORES_PER_NODE=1
NUMAS_PER_NODE=1

# Compilers and flags
FC = mpif90 -std=f2008 -fall-intrinsics -I$(GACODE_ROOT)/modules -J$(GACODE_ROOT)/modules -fPIC
F77 = mpif77 -std=legacy -I$(GACODE_ROOT)/modules
CC = gcc

FMATH = -fdefault-real-8 -fdefault-double-8
FOPT = -Ofast
FDEBUG = -Wall -W -fcheck=mem,bounds -g -fbacktrace -ffpe-trap=invalid,zero,overflow
F2PY = f2py
FOMP = -fopenmp

# System math libraries
LMATH = -L/usr/lib64 -lopenblas $(FFTW_HOME)/lib/libfftw3.a $(FFTW_HOME)/lib/libfftw3_omp.a
FFTW_INC = $(FFTW_HOME)/include

# NetCDF
NETCDF = -L/usr/pppl/gcc/11.2-pkgs/netcdf-fortran-4.5.4/lib -lnetcdff -L/usr/lib64/hdf -L/usr/pppl/gcc/11.2-pkgs/netcdf-c-4.8.1/lib -lnetcdf -lnetcdf -ldl -lm
NETCDF_INC =${NETCDF_FORTRAN_HOME}/include -I${NETCDF_C_HOME}/include

# Mapping
%.o : %.mod

# Archive
ARCH = ar cr
11 changes: 11 additions & 0 deletions platform/env/env.PPPL_FLUX
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash
#module purge
module load [email protected]
module load openmpi-4.1.5/intel-2023.2.0/netcdf-c/4.9.2-3wxlq
module load openmpi-4.1.5/intel-2023.2.0/netcdf-cxx4/4.3.1-frhsv
module load openmpi-4.1.5/intel-2023.2.0/netcdf-fortran/4.6.0-hz3b2
module load openmpi-4.1.5/intel-2023.2.0/fftw/3.3.10-zp3rj
module load openmpi-4.1.5/intel-2023.2.0/hdf5/1.14.1-2-x7cbk
module load git
export NETCDF_FORTRAN_HOME=/opt/pppl/spack-pkgs/linux-rocky9-zen3/intel-2023.2.0/netcdf-fortran-4.6.0-hz3b2mq6ld2u2u6ktdodbx72k37opcdf
export FFTW_HOME=/opt/pppl/spack-pkgs/linux-rocky9-zen3/intel-2023.2.0/fftw-3.3.10-zp3rj3oyvya5ntql27775l5gsfyou6ga
7 changes: 7 additions & 0 deletions platform/env/env.PPPL_PORTAL
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash

module load gcc/11.2.0
module load openmpi/4.1.2
module load fftw/3.3.10
module load netcdf-c/4.8.1
module load netcdf-fortran/4.5.4
16 changes: 16 additions & 0 deletions platform/exec/exec.PPPL_FLUX
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh
# GACODE Parallel execution script (PPPL FLUX)

simdir=${1}
nmpi=${2}
exec=${3}
nomp=${4}
numa=${5}
mpinuma=${6}

cd $simdir

# Had to remove --oversubscribe for NEO to run for Tom Osborne
echo "export OMP_NUM_THREADS=$nomp ; mpirun -np --oversubscribe $nmpi $exec "
export OMP_NUM_THREADS=$nomp ; mpirun --oversubscribe -np $nmpi $exec
exit
16 changes: 16 additions & 0 deletions platform/exec/exec.PPPL_PORTAL
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh
# GACODE Parallel execution script (PPPL_PORTAL)

simdir=${1}
nmpi=${2}
exec=${3}
nomp=${4}
numa=${5}
mpinuma=${6}

cd $simdir

# Had to remove --oversubscribe for NEO to run for Tom Osborne
echo "export OMP_NUM_THREADS=$nomp ; mpirun -np --oversubscribe $nmpi $exec "
export OMP_NUM_THREADS=$nomp ; mpirun --oversubscribe -np $nmpi $exec
exit
15 changes: 15 additions & 0 deletions platform/modulefiles/gacode/PPPL_FLUX
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#%Module
#
# Module file for setting the GACODE machine-dependent environmental variables
#

module purge
module load [email protected]
module load openmpi-4.1.5/intel-2023.2.0/netcdf-c/4.9.2-3wxlq
module load openmpi-4.1.5/intel-2023.2.0/netcdf-cxx4/4.3.1-frhsv
module load openmpi-4.1.5/intel-2023.2.0/netcdf-fortran/4.6.0-hz3b2
module load openmpi-4.1.5/intel-2023.2.0/fftw/3.3.10-zp3rj
module load openmpi-4.1.5/intel-2023.2.0/hdf5/1.14.1-2-x7cbk
module load git
export NETCDF_FORTRAN_HOME=/opt/pppl/spack-pkgs/linux-rocky9-zen3/intel-2023.2.0/netcdf-fortran-4.6.0-hz3b2mq6ld2u2u6ktdodbx72k37opcdf
export FFTW_HOME=/opt/pppl/spack-pkgs/linux-rocky9-zen3/intel-2023.2.0/fftw-3.3.10-zp3rj3oyvya5ntql27775l5gsfyou6ga
23 changes: 23 additions & 0 deletions platform/modulefiles/gacode/PPPL_PORTAL
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#%Module
#
# Module file for setting the GACODE machine-dependent environmental variables
#
if { [ module-info mode load ] } {

module load mod_ntcc
module load ntcc/gcc
module load lapack
module load fftw
module load fann

}

# module load gacode_base

if { [ module-info mode remove ] } {
module load fann
module load fftw
module load lapack
module load ntcc/gcc
module load mod_ntcc
}
16 changes: 16 additions & 0 deletions platform/qsub/qsub.PPPL_FLUX
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

bfile=$SIMDIR/batch.src
echo "#!/bin/bash " > $bfile
echo "#SBATCH -J $LOCDIR" >> $bfile
echo "#SBATCH -o $SIMDIR/batch.out" >> $bfile
echo "#SBATCH -e $SIMDIR/batch.err" >> $bfile
echo "#SBATCH -t $WALLTIME" >> $bfile
echo "#SBATCH -n $cores_used" >> $bfile
echo "#SBATCH --mem=2GB" >> $bfile
if [ "$QUEUE" = "null_queue" ]
then
echo "#SBATCH -p general" >> $bfile
else
echo "#SBATCH -p $QUEUE" >> $bfile
fi
echo "$CODE -e $LOCDIR -n $nmpi -nomp $nomp -numa $numa -mpinuma $mpinuma -p $SIMROOT" >> $bfile
25 changes: 25 additions & 0 deletions platform/qsub/qsub.PPPL_PORTAL
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

bfile=$SIMDIR/batch.src
echo "#!/bin/bash " > $bfile
echo "#SBATCH -J $LOCDIR" >> $bfile
echo "#SBATCH -o $SIMDIR/batch.out" >> $bfile
echo "#SBATCH -e $SIMDIR/batch.err" >> $bfile
echo "#SBATCH -t $WALLTIME" >> $bfile
echo "#SBATCH -n $cores_used" >> $bfile

if [ -n $MEMPERNODE ]
then
echo "#SBATCH --mem $MEMNODE" >> $bfile
elif [ -n $MEMPERCPU ]
echo "#SBATCH --mem-per-cpu $MEMPERCPU" >> $bfile
else
echo "#SBATCH --mem-per-cpu 4GB" >> $bfile
fi

if [ "$QUEUE" = "null_queue" ]
then
echo "#SBATCH -p general" >> $bfile
else
echo "#SBATCH -p $QUEUE" >> $bfile
fi
echo "$CODE -e $LOCDIR -n $nmpi -nomp $nomp -numa $numa -mpinuma $mpinuma -p $SIMROOT" >> $bfile

0 comments on commit 1316315

Please sign in to comment.