quantum-espresso/include/defs.h.README

96 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
Hardware/Compiler:
__STD_F95 Standard F95: no allocatable in arrays
__AIX Ibm rs/6000 machines
__XLF xlf compiler (ibm or macintosh with powerpc processor)
__ALTIX sgi altix 350/3000 machines running Linux
__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 (currently using MPI)
__MPI Use MPI library
__OPENMP OpenMP parallelization (experimental)
Libraries:
__FFTW FFT routines from internal FFTW library
__FFTW3 FFT routines from external FFTW v.3 library
__ACML FFT routines from ACML for AMD CPUs
__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