diff --git a/Makefile b/Makefile index 75daf8e..afb3003 100644 --- a/Makefile +++ b/Makefile @@ -1,30 +1,34 @@ -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 +EXEC=gradz_n2n_fd4_omp_nv gradz_n2n_fd4_cuda gradz_n2n_fd4_acc_nv gradz_n2n_fd4_omp_nv gradz_n2n_fd4_omp gradz_n2n_fd4_acc_gcc # 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=/scratch/software/spack/opt/spack/linux-rhel7-sandybridge/gcc-4.8.5/gcc-9.3.0-rv7cc5ibshxf6lldza2ym3wtjormh5cl/bin/gfortran +FCBIN=/home/foureste/Projects/gcc-11.2.0/bin/gfortran #FCBIN=gfortran FC=nvfortran # NVHPC Fortran compiler # FCFLAGS= -O3 -fopenmp -lgfortran -lm -foffload="-lm -lgfortran" # options for OpenMP with GNU +FCFLAGS_ACC= -O3 -fopenacc -lgfortran -lm # 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 $@ + $(FC) $(FLAGS) $(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_acc_gcc: gradz_n2n_fd4.F90 gradients_mod.F90 space_grid_mod.F90 prec_const_mod.F90 + $(FCBIN) -O3 -lgfortran -lm $(FCFLAGS_ACC) 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 $@ +gradz_n2n_fd4_acc_nv: gradz_n2n_fd4.F90 gradients_mod.F90 space_grid_mod.F90 prec_const_mod.F90 + $(FC) $(FLAGS) $(FLAGS_ACC) prec_const_mod.F90 space_grid_mod.F90 gradients_mod.F90 gradz_n2n_fd4.F90 -o $@ clean: rm -f $(EXEC) *.mod *.o *~