quantum-espresso/include/defs.h.README

99 lines
4.0 KiB
Plaintext

----------------------------------------------------------------------------
CONFIGURATION FILES
You shouldn't need to edit the following files. The two first are
automatically generated by "configure".
* include/fft_defs.h
==================
automatically generated by configure using include/fft_defs.h.in
as template - included in Modules/fft_scalar.f90
contains the type for C pointers called by fortran:
C_POINTER is integer*8 for 64-bit machines,
integer*4 on most other machines
DO NOT add C-style comments! some fortran compilers do not like them
* include/c_defs.h
================
automatically generated by configure using include/c_defs.h.in
as template - included in C files in clib/ . Contains:
1) #define HAVE_MALLINFO
if the mallinfo structure is present (Linux, AIX)
2) Macros redefining C symbols so that Fortran finds them
F77_FUNC, F77_FUNC_
C routine 'name' in *.c files are defined as
F77_FUNC('name','NAME')
if 'name' does not contain an underscore; if it does, as
F77_FUNC_('name','NAME')
Absoft: convert to capital, no added underscores
#define F77_FUNC(name,NAME) NAME
#define F77_FUNC_(name,NAME) NAME
XLF, HP-UX: convert to lowercase, no added underscores
#define F77_FUNC(name,NAME) name
#define F77_FUNC_(name,NAME) name
G95, EKOPath, Alpha Linux: convert to lowercase, add one underscore
if the name does not contain underscores, add two if it does
#define F77_FUNC(name,NAME) name ## _
#define F77_FUNC_(name,NAME) name ## __
Most other cases: convert to lowercase, add one underscore
#define F77_FUNC(name,NAME) name ## _
#define F77_FUNC_(name,NAME) name ## _
* include/f_defs.h
================
OBSOLETE - DO NOT USE ANY LONGER
* iotk/include/iotk_config.h
=========================
contains definitions for iotk . Defines on output:
__IOTK_REAL1 kind for single-precision reals
__IOTK_REAL2 kind for double-precision reals
__IOTK_WORKAROUND* various workarounds for miscellaneous compiler bugs
----------------------------------------------------------------------------
PREPROCESSING OPTIONS USED IN *.h FILES AND IN THE SOURCES
Additional Features:
__SOLVENT For solvent model, under development
__MS2 For QM-MM, under development
Hardware/Compiler:
__STD_F95 Standard F95: no allocatable in arrays
__AIX Ibm rs/6000 machines
__XLF xlf compiler (ibm or macintosh with powerpc processor)
__SX6 Nec sx-6 vector machines (Nec compiler)
__PGI Portland Group compiler (workarounds for compiler bugs)
__GFORTRAN gnu gfortran (workarounds for compiler bugs)
__INTEL Intel ifc and ifort compilers (workaround for compiler
bugs and for insufficient stack size)
OS:
Parallel execution:
__PARA Parallel execution
__MPI Use MPI library
__OPENMP OpenMP parallelization
Libraries:
__FFTW FFT routines from internal FFTW library
__FFTW3 FFT routines from external FFTW v.3 library
__SCSL FFT routines from SGI SCSL scientific library
__SUNPERF FFT routines from SUN sunperf scientific library
__ESSL use blas/lapack/fft routines from IBM ESSL library
__LINUX_ESSL use blas/lapack/fft routines from IBM ESSL library
(linux version)
__SCALAPACK use Scalapack routines instead of internal ones
for parallel subspace diagonalization
__MASS use mathematical routines from IBM MASS library
ASL, MICRO SX-6 specific libraries
Timing:
__HPM Hardware Performance Monitor (IBM SP)
__QK_USER__ for better timing of fftw in cray xt3 (?)
Signals:
__TRAP_SIGUSR1 Enable signal trapping (experimental): code will stop
and save data if executable is signaled with USR1
All other preprocessing flags are for debugging purposes and should not be
used unless you know what you are doing