admin:compilaciones:quantum-espresso
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| admin:compilaciones:quantum-espresso [2025/08/07 17:40] – [Thermo_pw] admin_rosario | admin:compilaciones:quantum-espresso [2025/10/30 19:08] (current) – [Thermo_pw] bbruzzo | ||
|---|---|---|---|
| Line 40: | Line 40: | ||
| < | < | ||
| curl -LO http:// | curl -LO http:// | ||
| - | tar -xzvf http:// | + | tar -xzvf thermo_pw.2.0.1.tar.gz |
| cd thermo_pw | cd thermo_pw | ||
| make join_qe | make join_qe | ||
| Line 48: | Line 48: | ||
| </ | </ | ||
| + | === Libxc === | ||
| + | La versión buildeada con autotools no funciona con la flag '' | ||
| + | El make.inc resultante es: | ||
| + | < | ||
| + | # compilation rules | ||
| + | |||
| + | .SUFFIXES : | ||
| + | .SUFFIXES : .o .c .f90 .h .fh | ||
| + | |||
| + | # most fortran compilers can directly preprocess c-like directives: use | ||
| + | # $(MPIF90) $(F90FLAGS) -c $< | ||
| + | # if explicit preprocessing by the C preprocessor is needed, use: | ||
| + | # $(CPP) $(CPPFLAGS) $< -o $*.F90 | ||
| + | # $(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o | ||
| + | # remember the tabulator in the first column !!! | ||
| + | |||
| + | .f90.o: | ||
| + | $(MPIF90) $(F90FLAGS) -c $< | ||
| + | |||
| + | .c.o: | ||
| + | $(CC) $(CFLAGS) | ||
| + | |||
| + | .h.fh: | ||
| + | $(CPP) $(CPPFLAGS) $< -o $*.fh | ||
| + | |||
| + | |||
| + | |||
| + | # Top QE directory, useful for locating libraries, | ||
| + | # The following syntax should always point to TOPDIR: | ||
| + | TOPDIR = $(dir $(abspath $(filter %make.inc, | ||
| + | # if it doesn' | ||
| + | |||
| + | # TOPDIR = / | ||
| + | |||
| + | # DFLAGS | ||
| + | # used by the C compiler and preprocessor | ||
| + | # To use libxc (v> | ||
| + | # See include/ | ||
| + | # With the exception of IBM xlf, FDFLAGS = $(DFLAGS) | ||
| + | # For IBM xlf, FDFLAGS is the same as DFLAGS with separating commas | ||
| + | |||
| + | # MANUAL_DFLAGS | ||
| + | # BEWARE: it does not work for IBM xlf! Manually edit FDFLAGS | ||
| + | MANUAL_DFLAGS | ||
| + | DFLAGS | ||
| + | FDFLAGS | ||
| + | |||
| + | # IFLAGS = how to locate directories with *.h or *.f90 file to be included | ||
| + | # typically -I$(TOPDIR)/ | ||
| + | # the latter contains .e.g. files needed by FFT libraries | ||
| + | # for libxc add -I/ | ||
| + | |||
| + | IFLAGS | ||
| + | |||
| + | # MOD_FLAG = flag used by f90 compiler to locate modules | ||
| + | |||
| + | MOD_FLAG | ||
| + | |||
| + | # BASEMOD_FLAGS points to directories containing basic modules, | ||
| + | # while BASEMODS points to the corresponding module libraries. | ||
| + | # More package-specific directories can be added in each Makefile | ||
| + | # and stored into MODFLAGS, and the same for module libraries in QEMODS | ||
| + | |||
| + | BASEMOD_FLAGS= $(MOD_FLAG)$(TOPDIR)/ | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | # If A depends upon B, A should come before B in the list below | ||
| + | # (most compilers don't care but some don't resolve cross links) | ||
| + | BASEMODS= $(TOPDIR)/ | ||
| + | $(TOPDIR)/ | ||
| + | $(TOPDIR)/ | ||
| + | $(TOPDIR)/ | ||
| + | $(TOPDIR)/ | ||
| + | $(TOPDIR)/ | ||
| + | $(TOPDIR)/ | ||
| + | |||
| + | # Compilers: fortran-90, fortran-77, C | ||
| + | # If a parallel compilation is desired, MPIF90 should be a fortran-90 | ||
| + | # compiler that produces executables for parallel execution using MPI | ||
| + | # (such as for instance mpif90, mpf90, mpxlf90, | ||
| + | # otherwise, an ordinary fortran-90 compiler (f90, g95, xlf90, ifort,...) | ||
| + | |||
| + | MPIF90 | ||
| + | F90 = ifort | ||
| + | CC = mpicc | ||
| + | |||
| + | # GPU architecture (Kepler: 35, Pascal: 60, Volta: 70, Ampere: 80) | ||
| + | GPU_ARCH= | ||
| + | |||
| + | # CUDA runtime (should be compatible with the CUDA driver) | ||
| + | CUDA_RUNTIME= | ||
| + | |||
| + | # CUDA F90 Flags | ||
| + | CUDA_F90FLAGS= $(MOD_FLAG)$(TOPDIR)/ | ||
| + | |||
| + | # CUDA C Flags | ||
| + | CUDA_CFLAGS= | ||
| + | |||
| + | # C preprocessor and preprocessing flags - for explicit preprocessing, | ||
| + | # if needed (see the compilation rules above) | ||
| + | # preprocessing flags must include DFLAGS and IFLAGS | ||
| + | |||
| + | CPP = cpp | ||
| + | CPPFLAGS | ||
| + | |||
| + | # compiler flags: C, F90 | ||
| + | # C flags must include DFLAGS and IFLAGS | ||
| + | # F90 flags must include MODFLAGS, IFLAGS, and FDFLAGS with appropriate syntax | ||
| + | |||
| + | CFLAGS | ||
| + | F90FLAGS | ||
| + | |||
| + | # compiler flags with and without optimization for fortran-77 | ||
| + | # the latter is NEEDED to properly compile dlamch.f, used by lapack | ||
| + | FFLAGS | ||
| + | FFLAGS_NOOPT | ||
| + | |||
| + | # compiler flag needed by some compilers when the main program is not fortran | ||
| + | # Currently used for Yambo | ||
| + | |||
| + | FFLAGS_NOMAIN | ||
| + | |||
| + | # Linker, linker-specific flags (if any) | ||
| + | # Typically LD coincides with F90 or MPIF90, LD_LIBS is empty | ||
| + | # for libxc, set LD_LIBS=-L/ | ||
| + | # If libxc release is 5.0.0 replace -lxcf03 with -lxcf90 | ||
| + | |||
| + | LD = mpif90 | ||
| + | LDFLAGS | ||
| + | LD_LIBS | ||
| + | |||
| + | # External Libraries (if any) : blas, lapack, fft, MPI | ||
| + | |||
| + | # If you have nothing better, use the local copy | ||
| + | # BLAS_LIBS = $(TOPDIR)/ | ||
| + | |||
| + | BLAS_LIBS | ||
| + | |||
| + | # If you have nothing better, use the local copy | ||
| + | # LAPACK = liblapack | ||
| + | # LAPACK_LIBS = $(TOPDIR)/ | ||
| + | |||
| + | LAPACK | ||
| + | LAPACK_LIBS = | ||
| + | |||
| + | SCALAPACK_LIBS = -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 | ||
| + | |||
| + | # nothing needed here if the the internal copy of FFTW is compiled | ||
| + | # (needs -D__FFTW in DFLAGS) | ||
| + | |||
| + | FFT_LIBS | ||
| + | |||
| + | # HDF5 | ||
| + | HDF5_LIBS = -L/ | ||
| + | |||
| + | # FOX | ||
| + | FOX = | ||
| + | FOX_MOD | ||
| + | FOX_LIB | ||
| + | FOX_FLAGS = | ||
| + | |||
| + | # ENVIRON | ||
| + | ENVIRON_LIBS = | ||
| + | |||
| + | # MPI libraries (should not be needed) | ||
| + | |||
| + | MPI_LIBS | ||
| + | |||
| + | # IBM-specific: | ||
| + | |||
| + | MASS_LIBS | ||
| + | |||
| + | # CUDA libraries | ||
| + | CUDA_LIBS= -L$(TOPDIR)/ | ||
| + | CUDA_EXTLIBS = devxlib | ||
| + | |||
| + | # ar command and flags - for most architectures: | ||
| + | |||
| + | AR = ar | ||
| + | ARFLAGS | ||
| + | |||
| + | # ranlib command. If ranlib is not needed (it isn't in most cases) use | ||
| + | # RANLIB = echo | ||
| + | |||
| + | RANLIB | ||
| + | |||
| + | # all internal and external libraries - do not modify | ||
| + | |||
| + | FLIB_TARGETS | ||
| + | |||
| + | LIBXC_LIBS | ||
| + | QELIBS | ||
| + | | ||
| + | $(FFT_LIBS) $(BLAS_LIBS) $(MPI_LIBS) $(MASS_LIBS) $(HDF5_LIBS) \ | ||
| + | $(ENVIRON_LIBS) $(LD_LIBS) | ||
| + | |||
| + | # wget or curl - useful to download from network | ||
| + | WGET = curl -o | ||
| + | |||
| + | # Install directory - "make install" | ||
| + | PREFIX = / | ||
| + | </ | ||
admin/compilaciones/quantum-espresso.1754588427.txt.gz · Last modified: by admin_rosario
