@@ -121,21 +121,50 @@ else()
121121 set (ABACUS_ELPA_VERSION "no" )
122122endif ()
123123
124+ # BLAS and FFTW libraries
124125if (MKL_FOUND)
125- set (ABACUS_MKL_SUPPORT "yes (version unknown)" )
126- find_path (MKL_VERSION_HEADER mkl_version.h PATHS ${MKL_INCLUDE} NO_DEFAULT_PATH )
127- if (MKL_VERSION_HEADER)
128- file (STRINGS "${MKL_VERSION_HEADER} " MKL_VERSION_LINE REGEX "^#define INTEL_MKL_VERSION [0-9]+" )
129- string (REGEX REPLACE "^#define INTEL_MKL_VERSION ([0-9]+)" "\\ 1" MKL_VER_NUM "${MKL_VERSION_LINE} " )
130- if (MKL_VER_NUM)
131- math (EXPR MKL_MAJOR "${MKL_VER_NUM} / 10000" )
132- math (EXPR MKL_MINOR "(${MKL_VER_NUM} % 10000) / 100" )
133- math (EXPR MKL_PATCH "${MKL_VER_NUM} % 100" )
134- set (ABACUS_MKL_SUPPORT "yes (v${MKL_MAJOR} .${MKL_MINOR} .${MKL_PATCH} )" )
135- endif ()
126+ set (ABACUS_BLAS_VENDOR "MKL" )
127+ set (ABACUS_FFTW_VERSION "Using MKL" )
128+ set (ABACUS_MKL_SUPPORT "yes (version unknown)" )
129+ find_path (MKL_VERSION_HEADER mkl_version.h PATHS ${MKL_INCLUDE} NO_DEFAULT_PATH )
130+ if (MKL_VERSION_HEADER)
131+ file (STRINGS "${MKL_VERSION_HEADER} " MKL_VERSION_LINE REGEX "^#define INTEL_MKL_VERSION [0-9]+" )
132+ string (REGEX REPLACE "^#define INTEL_MKL_VERSION ([0-9]+)" "\\ 1" MKL_VER_NUM "${MKL_VERSION_LINE} " )
133+ if (MKL_VER_NUM)
134+ math (EXPR MKL_MAJOR "${MKL_VER_NUM} / 10000" )
135+ math (EXPR MKL_MINOR "(${MKL_VER_NUM} % 10000) / 100" )
136+ math (EXPR MKL_PATCH "${MKL_VER_NUM} % 100" )
137+ set (ABACUS_MKL_SUPPORT "yes (v${MKL_MAJOR} .${MKL_MINOR} .${MKL_PATCH} )" )
136138 endif ()
139+ endif ()
137140else ()
138- set (ABACUS_MKL_SUPPORT "no" )
141+ set (ABACUS_MKL_SUPPORT "no" )
142+ if (USE_SW)
143+ set (ABACUS_BLAS_VENDOR "SW" )
144+ set (ABACUS_FFTW_VERSION "Using SW" )
145+ elseif (USE_KML)
146+ set (ABACUS_BLAS_VENDOR "KML" )
147+ set (ABACUS_FFTW_VERSION "Using KML" )
148+ else ()
149+ set (ABACUS_BLAS_VENDOR "Generic BLAS" )
150+ if (FFTW3_VERSION)
151+ set (ABACUS_FFTW_VERSION "yes (v${FFTW3_VERSION} )" )
152+ else ()
153+ if (FFTW3_INCLUDE_DIR AND EXISTS "${FFTW3_INCLUDE_DIR} /fftw3.h" )
154+ file (STRINGS "${FFTW3_INCLUDE_DIR} /fftw3.h" _fftw_ver_line
155+ REGEX "^#define[\t ]+FFTW_VERSION[\t ]+\" [^\" ]+\" " )
156+ if (_fftw_ver_line)
157+ string (REGEX REPLACE "^#define[\t ]+FFTW_VERSION[\t ]+\" ([^\" ]+)\" " "\\ 1"
158+ FFTW3_VERSION "${_fftw_ver_line} " )
159+ set (ABACUS_FFTW_VERSION "yes (v${FFTW3_VERSION} )" )
160+ else ()
161+ set (ABACUS_FFTW_VERSION "yes (version unknown)" )
162+ endif ()
163+ else ()
164+ set (ABACUS_FFTW_VERSION "yes (version unknown)" )
165+ endif ()
166+ endif ()
167+ endif ()
139168endif ()
140169
141170if (ENABLE_LIBXC AND Libxc_VERSION)
@@ -146,24 +175,6 @@ else()
146175 set (ABACUS_LIBXC_VERSION "no" )
147176endif ()
148177
149- if (NOT USE_SW AND NOT MKL_FOUND AND FFTW3_VERSION)
150- set (ABACUS_FFTW_VERSION "yes (v${FFTW3_VERSION} )" )
151- elseif (NOT USE_SW AND NOT MKL_FOUND)
152- if (FFTW3_INCLUDE_DIR AND EXISTS "${FFTW3_INCLUDE_DIR} /fftw3.h" )
153- file (STRINGS "${FFTW3_INCLUDE_DIR} /fftw3.h" _fftw_ver_line REGEX "^#define[\t ]+FFTW_VERSION[\t ]+\" [^\" ]+\" " )
154- if (_fftw_ver_line)
155- string (REGEX REPLACE "^#define[\t ]+FFTW_VERSION[\t ]+\" ([^\" ]+)\" " "\\ 1" FFTW3_VERSION "${_fftw_ver_line} " )
156- set (ABACUS_FFTW_VERSION "yes (v${FFTW3_VERSION} )" )
157- else ()
158- set (ABACUS_FFTW_VERSION "yes (version unknown)" )
159- endif ()
160- else ()
161- set (ABACUS_FFTW_VERSION "yes (version unknown)" )
162- endif ()
163- else ()
164- set (ABACUS_FFTW_VERSION "no (using MKL or SW)" )
165- endif ()
166-
167178# Accelerators
168179if (USE_CUDA AND CUDAToolkit_VERSION)
169180 set (ABACUS_CUDA_VERSION "yes (v${CUDAToolkit_VERSION} )" )
@@ -383,7 +394,7 @@ message(" OpenMP Support : ${ABACUS_OPENMP_VERSION}")
383394message (" -------------------------------------------------------------------" )
384395message (" LCAO Enabled : ${ABACUS_LCAO_ENABLED} " )
385396message (" -------------------------------------------------------------------" )
386- message (" Math Libraries : MKL = ${ABACUS_MKL_SUPPORT } " )
397+ message (" Math Libraries : BLAS = ${ABACUS_BLAS_VENDOR } " )
387398message (" FFTW = ${ABACUS_FFTW_VERSION} " )
388399message (" ELPA = ${ABACUS_ELPA_VERSION} " )
389400message (" Accelerators : CUDA = ${ABACUS_CUDA_VERSION} " )
0 commit comments