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-2018 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 & "8.10.3" 33 character(len=*),parameter :: build_target = & 34 & "x86_64_linux_gnu5.3" 35 36 ! More info on current version 37 character(len=*),parameter :: version_major = & 38 & "8" 39 character(len=*),parameter :: version_minor = & 40 & "10" 41 character(len=*),parameter :: version_micro = & 42 & "3" 43 character(len=*),parameter :: version_build = & 44 & "20190624" 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 & "gnu5.3" 50 character(len=*),parameter :: cxx_info = & 51 & "gnu5.3" 52 character(len=*),parameter :: fc_info = & 53 & "gnu5.3" 54 character(len=*),parameter :: cc_flags = & 55 & " -g -g3 -ggdb -O0 -fPIC " 56 character(len=*),parameter :: cxx_flags = & 57 & " -g -O0 -fPIC " 58 character(len=*),parameter :: fc_flags = & 59 & " -g -fbacktrace -finit-real=nan -Wimplicit-interface -Wtabs -ffree-line-length-none -fPIC -Wall " 60 character(len=*),parameter :: fc_ldflags = & 61 & " " 62 63 ! Info on optimizations 64 character(len=*),parameter :: enable_debug = & 65 & "enhanced" 66 character(len=*),parameter :: enable_optim = & 67 & "no" 68 character(len=*),parameter :: cpu_info = & 69 & "intel_xeon" 70 71 ! Info on MPI 72 character(len=*),parameter :: enable_mpi = & 73 & "yes" 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 :: enable_gpu = & 83 & "no" 84 85 ! Info on connectors / fallbacks 86 character(len=*),parameter :: enable_connectors = & 87 & "yes" 88 character(len=*),parameter :: enable_fallbacks = & 89 & "yes" 90 character(len=*),parameter :: dft_flavor = & 91 & "none" 92 character(len=*),parameter :: fft_flavor = & 93 & "fftw3" 94 character(len=*),parameter :: linalg_flavor = & 95 & "custom" 96 character(len=*),parameter :: math_flavor = & 97 & "none" 98 character(len=*),parameter :: timer_flavor = & 99 & "abinit" 100 character(len=*),parameter :: trio_flavor = & 101 & "netcdf" 102 103 ! Info on experimental features 104 character(len=*),parameter :: enable_bindings = & 105 & "@enable_bindings@" 106 character(len=*),parameter :: enable_exports = & 107 & "yes" 108 character(len=*),parameter :: enable_gw_dpc = & 109 & "no" 110 111 #if defined HAVE_BZR_BRANCH 112 ! Info on Bazaar branch (if applies) 113 character(len=*),parameter :: bzr_branch = & 114 & "" 115 character(len=*),parameter :: bzr_revno = & 116 & "" 117 character(len=*),parameter :: bzr_clean = & 118 & "" 119 #endif 120 121 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
146 subroutine dump_config(my_unit) 147 148 implicit none 149 150 !Arguments ------------------------------------ 151 integer,intent(in) :: my_unit 152 153 !Local variables------------------------------- 154 155 ! ********************************************************************* 156 157 ! TODO: things that might be added through preprocessing options, e.g. 158 ! date and time of compilation 159 160 write(my_unit,*) 161 write(my_unit,'(1x,a)') repeat('+',78) 162 write(my_unit,*) 163 write(my_unit,'(a)' )' === Build Information === ' 164 write(my_unit,'(2a)')' Version : ',trim(abinit_version) 165 write(my_unit,'(2a)')' Build target : ',trim(build_target) 166 write(my_unit,'(2a)')' Build date : ',trim(version_build) 167 write(my_unit,*) 168 write(my_unit,'(a)' )' === Compiler Suite === ' 169 write(my_unit,'(2a)')' C compiler : ',trim(cc_info) 170 write(my_unit,'(2a)')' C++ compiler : ',trim(cxx_info) 171 write(my_unit,'(2a)')' Fortran compiler : ',trim(fc_info) 172 write(my_unit,'(2a)')' CFLAGS : ',trim(cc_flags) 173 write(my_unit,'(2a)')' CXXFLAGS : ',trim(cxx_flags) 174 write(my_unit,'(2a)')' FCFLAGS : ',trim(fc_flags) 175 write(my_unit,'(2a)')' FC_LDFLAGS : ',trim(fc_ldflags) 176 write(my_unit,*) 177 write(my_unit,'(a) ')' === Optimizations === ' 178 write(my_unit,'(2a)')' Debug level : ',trim(enable_debug) 179 write(my_unit,'(2a)')' Optimization level : ',trim(enable_optim) 180 write(my_unit,'(2a)')' Architecture : ',trim(cpu_info) 181 write(my_unit,*) 182 write(my_unit,'(a) ')' === Multicore === ' 183 write(my_unit,'(2a)')' Parallel build : ',trim(enable_mpi) 184 write(my_unit,'(2a)')' Parallel I/O : ',trim(enable_mpi_io) 185 write(my_unit,'(2a)')' openMP support : ',trim(enable_openmp) 186 write(my_unit,'(2a)')' GPU support : ',trim(enable_gpu) 187 write(my_unit,*) 188 write(my_unit,'(a) ')' === Connectors / Fallbacks === ' 189 write(my_unit,'(2a)')' Connectors on : ',trim(enable_connectors) 190 write(my_unit,'(2a)')' Fallbacks on : ',trim(enable_fallbacks) 191 write(my_unit,'(2a)')' DFT flavor : ',trim(dft_flavor) 192 write(my_unit,'(2a)')' FFT flavor : ',trim(fft_flavor) 193 write(my_unit,'(2a)')' LINALG flavor : ',trim(linalg_flavor) 194 write(my_unit,'(2a)')' MATH flavor : ',trim(math_flavor) 195 write(my_unit,'(2a)')' TIMER flavor : ',trim(timer_flavor) 196 write(my_unit,'(2a)')' TRIO flavor : ',trim(trio_flavor) 197 write(my_unit,*) 198 write(my_unit,'(a)' )' === Experimental features === ' 199 write(my_unit,'(2a)')' Bindings : ',trim(enable_bindings) 200 write(my_unit,'(2a)')' Exports : ',trim(enable_exports) 201 write(my_unit,'(2a)')' GW double-precision : ',trim(enable_gw_dpc) 202 write(my_unit,*) 203 #if defined HAVE_BZR_BRANCH 204 write(my_unit,'(a)' )' === Bazaar branch information === ' 205 write(my_unit,'(2a)')' Branch ID : ',trim(bzr_branch) 206 write(my_unit,'(2a)')' Revision : ',trim(bzr_revno) 207 write(my_unit,'(2a)')' Committed : ',trim(bzr_clean) 208 write(my_unit,*) 209 #endif 210 write(my_unit,'(1x,a)') repeat('+',78) 211 write(my_unit,*) 212 213 end subroutine dump_config