TABLE OF CONTENTS
ABINIT/m_build_info [ Modules ]
NAME
m_build_info
FUNCTION
This module contains information about this particular version of ABINIT and its build parameters (useful for debugging).
COPYRIGHT
Copyright (C) 2005-2024 ABINIT group (Yann Pouillon, Matteo Giantomassi) This file is distributed under the terms of the GNU General Public License, see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt .
SOURCE
18 #if defined HAVE_CONFIG_H 19 #include "config.h" 20 #endif 21 22 module m_build_info 23 24 implicit none 25 26 ! Try to prevent problems with the length of the argument 27 ! (should not exceed the line length of 132 character). 28 ! So, always start the string to be replaced at the beginning of a line. 29 30 ! Parameters set-up by Autoconf 31 character(len=8),parameter :: abinit_version = & 32 & "10.0.3" 33 character(len=*),parameter :: build_target = & 34 & "x86_64_linux_gnu9.5" 35 36 ! More info on current version 37 character(len=*),parameter :: version_major = & 38 & "10" 39 character(len=*),parameter :: version_minor = & 40 & "0" 41 character(len=*),parameter :: version_micro = & 42 & "3" 43 character(len=*),parameter :: version_build = & 44 & "20240412" 45 46 ! Info on compilers. Try to prevent problems with the length of the argument 47 ! (should not exceed the line length of 132 character). 48 character(len=*),parameter :: cc_info = & 49 & "gnu9.5" 50 character(len=*),parameter :: cxx_info = & 51 & "gnu9.5" 52 character(len=*),parameter :: fc_info = & 53 & "gnu9.5" 54 character(len=*),parameter :: cc_flags = & 55 & "-g -g3 -ggdb -O0 " 56 character(len=*),parameter :: cxx_flags = & 57 & "-g -O0 " 58 character(len=*),parameter :: fc_flags = & 59 & "-g -fbacktrace -finit-real=nan -Wimplicit-interface -Wno-maybe-unin ..." 60 character(len=*),parameter :: fc_ldflags = & 61 & " " 62 63 ! Info on optimizations 64 character(len=*),parameter :: with_debug_flavor = & 65 & "enhanced" 66 character(len=*),parameter :: with_optim_flavor = & 67 & "none" 68 character(len=*),parameter :: cpu_info = & 69 & "intel_xeon" 70 71 ! Info on MPI 72 character(len=*),parameter :: with_mpi = & 73 & "/usr/local/mpich-4.0.2_gcc95" 74 character(len=*),parameter :: enable_mpi_io = & 75 & "yes" 76 77 ! Info on openMP 78 character(len=*),parameter :: enable_openmp = & 79 & "no" 80 81 ! Info on GPU 82 character(len=*),parameter :: with_gpu = & 83 & "" 84 85 ! Info on external dependencies 86 character(len=*),parameter :: linalg_flavor = & 87 & "openblas" 88 character(len=*),parameter :: fft_flavor = & 89 & "fftw3" 90 character(len=*),parameter :: with_hdf5 = & 91 & "yes" 92 character(len=*),parameter :: with_netcdf = & 93 & "yes" 94 character(len=*),parameter :: with_netcdf_fortran = & 95 & "yes" 96 character(len=*),parameter :: with_libxc = & 97 & "yes" 98 character(len=*),parameter :: with_wannier90 = & 99 & "no" 100 101 ! Info on experimental features 102 character(len=*),parameter :: enable_exports = & 103 & "" 104 character(len=*),parameter :: enable_gw_dpc = & 105 & "no" 106 107 contains !===========================================================
ABINIT/m_build_info/dump_config [ Functions ]
NAME
dump_config
FUNCTION
Reports a printout of the information stored in m_build_info, useful for error messages and debugging.
INPUTS
my_unit= Fortran unit number
OUTPUT
Only printing
PARENTS
Will be filled automatically by the parent script
CHILDREN
Will be filled automatically by the parent script
SOURCE
132 subroutine dump_config(my_unit) 133 134 implicit none 135 136 !Arguments ------------------------------------ 137 integer,intent(in) :: my_unit 138 139 !Local variables------------------------------- 140 141 ! ********************************************************************* 142 143 ! TODO: things that might be added through preprocessing options, e.g. 144 ! date and time of compilation 145 146 write(my_unit,*) 147 write(my_unit,'(1x,a)') repeat('+',78) 148 write(my_unit,*) 149 write(my_unit,'(a)' )' === Build Information === ' 150 write(my_unit,'(2a)')' Version : ',trim(abinit_version) 151 write(my_unit,'(2a)')' Build target : ',trim(build_target) 152 write(my_unit,'(2a)')' Build date : ',trim(version_build) 153 write(my_unit,*) 154 write(my_unit,'(a)' )' === Compiler Suite === ' 155 write(my_unit,'(2a)')' C compiler : ',trim(cc_info) 156 write(my_unit,'(2a)')' C++ compiler : ',trim(cxx_info) 157 write(my_unit,'(2a)')' Fortran compiler : ',trim(fc_info) 158 write(my_unit,'(2a)')' CFLAGS : ',trim(cc_flags) 159 write(my_unit,'(2a)')' CXXFLAGS : ',trim(cxx_flags) 160 write(my_unit,'(2a)')' FCFLAGS : ',trim(fc_flags) 161 write(my_unit,'(2a)')' FC_LDFLAGS : ',trim(fc_ldflags) 162 write(my_unit,*) 163 write(my_unit,'(a) ')' === Optimizations === ' 164 write(my_unit,'(2a)')' Debug level : ',trim(with_debug_flavor) 165 write(my_unit,'(2a)')' Optimization level : ',trim(with_optim_flavor) 166 write(my_unit,'(2a)')' Architecture : ',trim(cpu_info) 167 write(my_unit,*) 168 write(my_unit,'(a) ')' === Multicore === ' 169 write(my_unit,'(2a)')' Parallel build : ',trim(with_mpi) 170 write(my_unit,'(2a)')' Parallel I/O : ',trim(enable_mpi_io) 171 write(my_unit,'(2a)')' openMP support : ',trim(enable_openmp) 172 write(my_unit,'(2a)')' GPU support : ',trim(with_gpu) 173 write(my_unit,*) 174 write(my_unit,'(a) ')' === Connectors / Fallbacks === ' 175 write(my_unit,'(2a)')' LINALG flavor : ',trim(linalg_flavor) 176 write(my_unit,'(2a)')' FFT flavor : ',trim(fft_flavor) 177 write(my_unit,'(2a)')' HDF5 : ',trim(with_hdf5) 178 write(my_unit,'(2a)')' NetCDF : ',trim(with_netcdf) 179 write(my_unit,'(2a)')' NetCDF Fortran : ',trim(with_netcdf_fortran) 180 write(my_unit,'(2a)')' LibXC : ',trim(with_libxc) 181 write(my_unit,'(2a)')' Wannier90 : ',trim(with_wannier90) 182 write(my_unit,*) 183 write(my_unit,'(a)' )' === Experimental features === ' 184 write(my_unit,'(2a)')' Exports : ',trim(enable_exports) 185 write(my_unit,'(2a)')' GW double-precision : ',trim(enable_gw_dpc) 186 write(my_unit,*) 187 write(my_unit,'(1x,a)') repeat('+',78) 188 write(my_unit,*) 189 190 end subroutine dump_config