DEBUG = -O0 -g -traceback MKLROOT = /opt/intel/oneapi/mkl/latest MKL_INC = -I$(MKLROOT)/include MKL_LIB = -L$(MKLROOT)/lib/intel64 -Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_ilp64.a $(MKLROOT)/lib/intel64/libmkl_intel_thread.a $(MKLROOT)/lib/intel64/libmkl_core.a -Wl,--end-group -liomp5 -lpthread -lm -ldl
LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) USE_ACCEL = no vasp 5.4.4 installation
INCS = $(MKL_INC) LIBS = $(MKL_LIB)
mkdir ~/vasp_test cd ~/vasp_test cp ../vasp.5.4.4/vasp_std . Copy example input files from the VASP tarball testsuite/ : The template above already uses the optimized internal FFT
export OMP_NUM_THREADS=2 mpirun -np 16 vasp_std # 16 MPI ranks, each with 2 OpenMP threads Adjust for your node's core count. Ensure your makefile.include uses fft3dlib.o from VASP’s own library, not generic FFTW. The template above already uses the optimized internal FFT. 3. Memory optimization For large systems (>100 atoms), add to INCAR : not generic FFTW.
#!/bin/bash #SBATCH --job-name=VASP #SBATCH --nodes=2 #SBATCH --ntasks-per-node=16 #SBATCH --cpus-per-task=2 #SBATCH --time=48:00:00 module load intel/2023.0 mkl/2023.0 export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK