Makefile.include.linux intel: Difference between revisions
Vaspmaster (talk | contribs) (Created page with "<pre> # Precompiler options CPP_OPTIONS= -DMPI -DHOST=\"IFC91_ompi\" -DIFC \ -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \ -DMPI_BLOCK=8000 -DscaLAPACK -D...") |
No edit summary |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:makefile.include.linux_intel}} | |||
<pre> | <pre> | ||
# Precompiler options | # Precompiler options | ||
CPP_OPTIONS= | CPP_OPTIONS= -DHOST=\"LinuxIFC\"\ | ||
-DCACHE_SIZE=4000 | -DMPI -DMPI_BLOCK=8000 -Duse_collective \ | ||
- | -DscaLAPACK \ | ||
-DCACHE_SIZE=4000 \ | |||
- | -Davoidalloc \ | ||
-Dvasp6 \ | |||
-Duse_bse_te \ | |||
-Dtbdyn \ | |||
-Dfock_dblbuf | |||
CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS) | CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS) | ||
FC = | FC = mpiifort | ||
FCL = | FCL = mpiifort -mkl=sequential | ||
FREE = -free -names lowercase | FREE = -free -names lowercase | ||
FFLAGS = -assume byterecl | FFLAGS = -assume byterecl -w -xHOST | ||
OFLAG = -O2 | OFLAG = -O2 | ||
OFLAG_IN = $(OFLAG) | OFLAG_IN = $(OFLAG) | ||
Line 22: | Line 27: | ||
BLAS = | BLAS = | ||
LAPACK = | LAPACK = | ||
BLACS = - | BLACS = -lmkl_blacs_intelmpi_lp64 | ||
SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS) | SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS) | ||
OBJECTS = fftmpiw.o fftmpi_map.o | OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o | ||
INCS =-I$(MKLROOT)/include/fftw | INCS =-I$(MKLROOT)/include/fftw | ||
LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) | LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) | ||
OBJECTS_O1 += | OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o | ||
OBJECTS_O2 += fft3dlib.o | OBJECTS_O2 += fft3dlib.o | ||
Line 43: | Line 48: | ||
OBJECTS_LIB= linpack_double.o getshmem.o | OBJECTS_LIB= linpack_double.o getshmem.o | ||
# For the parser library | |||
CXX_PARS = icpc | |||
LLIBS += -lstdc++ | |||
# Normally no need to change this | # Normally no need to change this | ||
SRCDIR = ../../src | SRCDIR = ../../src | ||
BINDIR = ../../bin | BINDIR = ../../bin | ||
#================================================ | |||
# GPU Stuff | |||
CPP_GPU = -DCUDA_GPU -DRPROMU_CPROJ_OVERLAP -DUSE_PINNED_MEMORY -DCUFFT_MIN=28 -UscaLAPACK -Ufock_dblbuf | |||
OBJECTS_GPU= fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d_gpu.o fftmpiw_gpu.o | |||
CC = icc | |||
CXX = icpc | |||
CFLAGS = -fPIC -DADD_ -Wall -qopenmp -DMAGMA_WITH_MKL -DMAGMA_SETAFFINITY -DGPUSHMEM=300 -DHAVE_CUBLAS | |||
# Minimal requirement is CUDA >= 10.X. For "sm_80" you need CUDA >= 11.X. | |||
CUDA_ROOT ?= /usr/local/cuda/ | |||
NVCC := $(CUDA_ROOT)/bin/nvcc -ccbin=icc -allow-unsupported-compiler | |||
CUDA_LIB := -L$(CUDA_ROOT)/lib64 -lnvToolsExt -lcudart -lcuda -lcufft -lcublas | |||
GENCODE_ARCH := -gencode=arch=compute_60,code=\"sm_60,compute_60\" \ | |||
-gencode=arch=compute_70,code=\"sm_70,compute_70\" \ | |||
-gencode=arch=compute_80,code=\"sm_80,compute_80\" | |||
## For all legacy Intel MPI versions (before 2021) | |||
#MPI_INC = $(I_MPI_ROOT)/intel64/include/ | |||
# Or when you are using the Intel oneAPI compiler suite | |||
MPI_INC = $(I_MPI_ROOT)/include/ | |||
</pre> | </pre> | ||
---- | |||
[[Category:VASP]] |
Latest revision as of 09:01, 20 October 2023
# Precompiler options CPP_OPTIONS= -DHOST=\"LinuxIFC\"\ -DMPI -DMPI_BLOCK=8000 -Duse_collective \ -DscaLAPACK \ -DCACHE_SIZE=4000 \ -Davoidalloc \ -Dvasp6 \ -Duse_bse_te \ -Dtbdyn \ -Dfock_dblbuf CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS) FC = mpiifort FCL = mpiifort -mkl=sequential FREE = -free -names lowercase FFLAGS = -assume byterecl -w -xHOST OFLAG = -O2 OFLAG_IN = $(OFLAG) DEBUG = -O0 MKL_PATH = $(MKLROOT)/lib/intel64 BLAS = LAPACK = BLACS = -lmkl_blacs_intelmpi_lp64 SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS) OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o INCS =-I$(MKLROOT)/include/fftw LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o OBJECTS_O2 += fft3dlib.o # For what used to be vasp.5.lib CPP_LIB = $(CPP) FC_LIB = $(FC) CC_LIB = icc CFLAGS_LIB = -O FFLAGS_LIB = -O1 FREE_LIB = $(FREE) OBJECTS_LIB= linpack_double.o getshmem.o # For the parser library CXX_PARS = icpc LLIBS += -lstdc++ # Normally no need to change this SRCDIR = ../../src BINDIR = ../../bin #================================================ # GPU Stuff CPP_GPU = -DCUDA_GPU -DRPROMU_CPROJ_OVERLAP -DUSE_PINNED_MEMORY -DCUFFT_MIN=28 -UscaLAPACK -Ufock_dblbuf OBJECTS_GPU= fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d_gpu.o fftmpiw_gpu.o CC = icc CXX = icpc CFLAGS = -fPIC -DADD_ -Wall -qopenmp -DMAGMA_WITH_MKL -DMAGMA_SETAFFINITY -DGPUSHMEM=300 -DHAVE_CUBLAS # Minimal requirement is CUDA >= 10.X. For "sm_80" you need CUDA >= 11.X. CUDA_ROOT ?= /usr/local/cuda/ NVCC := $(CUDA_ROOT)/bin/nvcc -ccbin=icc -allow-unsupported-compiler CUDA_LIB := -L$(CUDA_ROOT)/lib64 -lnvToolsExt -lcudart -lcuda -lcufft -lcublas GENCODE_ARCH := -gencode=arch=compute_60,code=\"sm_60,compute_60\" \ -gencode=arch=compute_70,code=\"sm_70,compute_70\" \ -gencode=arch=compute_80,code=\"sm_80,compute_80\" ## For all legacy Intel MPI versions (before 2021) #MPI_INC = $(I_MPI_ROOT)/intel64/include/ # Or when you are using the Intel oneAPI compiler suite MPI_INC = $(I_MPI_ROOT)/include/