Page MenuHomec4science

Makefile
No OneTemporary

File Metadata

Created
Wed, May 28, 06:05

Makefile

EXEC=gradz_n2n_fd4_omp gradz_n2n_fd4_cuda gradz_n2n_fd4_acc gradz_n2n_fd4_omp_nv gradz_n2n_fd4_omp gradz_n2n_fd4_omp_nv gradz_n2n_fd4_off gradz_n2n_fd4_acc
# on izar
#FC=gfortran # GNU Fortran compiler
FCBIN=/scratch/software/spack/opt/spack/linux-rhel7-sandybridge/gcc-4.8.5/gcc-9.3.0-rv7cc5ibshxf6lldza2ym3wtjormh5cl/bin/gfortran
#FCBIN=gfortran
FC=nvfortran # NVHPC Fortran compiler
#
FCFLAGS= -O3 -fopenmp -lgfortran -lm -foffload="-lm -lgfortran" # options for OpenMP with GNU
#FLAGS=-O3 -Xcompiler "-march=skylake -mprefer-vector-width=512"
FLAGS= -tp=skylake -O3 -mavx512f #-ccbin=$(CCBIN)
FLAGS_OMP = -ta=host # options for openMP with NVHPC
FLAGS_OFF = -static-nvidia -mp=gpu -gpu=cc70 # options for openMP with NVHPC
FLAGS_ACC = -acc -gpu=cc70 # options for openACC with NVHPC
FLAGS_CUDA = -cuda -gpu=cc70 -g
#
all: $(EXEC)
gradz_n2n_fd4_cuda: gradz_n2n_fd4.F90 gradients_mod.F90 space_grid_mod.F90 prec_const_mod.F90
$(FC) $(FLAGS_CUDA) prec_const_mod.F90 space_grid_mod.F90 gradients_mod.F90 gradz_n2n_fd4.F90 -o $@
gradz_n2n_fd4_omp: gradz_n2n_fd4.F90 gradients_mod.F90 space_grid_mod.F90 prec_const_mod.F90
$(FCBIN) $(FCFLAGS) prec_const_mod.F90 space_grid_mod.F90 gradients_mod.F90 gradz_n2n_fd4.F90 -o $@
gradz_n2n_fd4_omp_nv: gradz_n2n_fd4.F90 gradients_mod.F90 space_grid_mod.F90 prec_const_mod.F90
$(FC) $(FLAGS_OFF) prec_const_mod.F90 space_grid_mod.F90 gradients_mod.F90 gradz_n2n_fd4.F90 -o $@
gradz_n2n_fd4_off: gradz_n2n_fd4.F90 gradients_mod.F90 space_grid_mod.F90 prec_const_mod.F90
$(FC) $(FLAGS) $(FLAGS_OFF) prec_const_mod.F90 space_grid_mod.F90 gradients_mod.F90 gradz_n2n_fd4.F90 -o $@
gradz_n2n_fd4_acc: gradz_n2n_fd4.F90 gradients_mod.F90 space_grid_mod.F90 prec_const_mod.F90
$(FC) $(FLAGS_ACC) prec_const_mod.F90 space_grid_mod.F90 gradients_mod.F90 gradz_n2n_fd4.F90 -o $@
clean:
rm -f $(EXEC) *.mod *.o *~

Event Timeline