@@ -135,21 +135,50 @@ else()
135135 set (ABACUS_ELPA_VERSION "no" )
136136endif ()
137137
138+ # BLAS and FFTW libraries
138139if (MKL_FOUND)
139- set (ABACUS_MKL_SUPPORT "yes (version unknown)" )
140- find_path (MKL_VERSION_HEADER mkl_version.h PATHS ${MKL_INCLUDE} NO_DEFAULT_PATH )
141- if (MKL_VERSION_HEADER)
142- file (STRINGS "${MKL_VERSION_HEADER} " MKL_VERSION_LINE REGEX "^#define INTEL_MKL_VERSION [0-9]+" )
143- string (REGEX REPLACE "^#define INTEL_MKL_VERSION ([0-9]+)" "\\ 1" MKL_VER_NUM "${MKL_VERSION_LINE} " )
144- if (MKL_VER_NUM)
145- math (EXPR MKL_MAJOR "${MKL_VER_NUM} / 10000" )
146- math (EXPR MKL_MINOR "(${MKL_VER_NUM} % 10000) / 100" )
147- math (EXPR MKL_PATCH "${MKL_VER_NUM} % 100" )
148- set (ABACUS_MKL_SUPPORT "yes (v${MKL_MAJOR} .${MKL_MINOR} .${MKL_PATCH} )" )
149- endif ()
140+ set (ABACUS_BLAS_VENDOR "MKL" )
141+ set (ABACUS_FFTW_VERSION "Using MKL" )
142+ set (ABACUS_MKL_SUPPORT "yes (version unknown)" )
143+ find_path (MKL_VERSION_HEADER mkl_version.h PATHS ${MKL_INCLUDE} NO_DEFAULT_PATH )
144+ if (MKL_VERSION_HEADER)
145+ file (STRINGS "${MKL_VERSION_HEADER} " MKL_VERSION_LINE REGEX "^#define INTEL_MKL_VERSION [0-9]+" )
146+ string (REGEX REPLACE "^#define INTEL_MKL_VERSION ([0-9]+)" "\\ 1" MKL_VER_NUM "${MKL_VERSION_LINE} " )
147+ if (MKL_VER_NUM)
148+ math (EXPR MKL_MAJOR "${MKL_VER_NUM} / 10000" )
149+ math (EXPR MKL_MINOR "(${MKL_VER_NUM} % 10000) / 100" )
150+ math (EXPR MKL_PATCH "${MKL_VER_NUM} % 100" )
151+ set (ABACUS_MKL_SUPPORT "yes (v${MKL_MAJOR} .${MKL_MINOR} .${MKL_PATCH} )" )
150152 endif ()
153+ endif ()
151154else ()
152- set (ABACUS_MKL_SUPPORT "no" )
155+ set (ABACUS_MKL_SUPPORT "no" )
156+ if (USE_SW)
157+ set (ABACUS_BLAS_VENDOR "SW" )
158+ set (ABACUS_FFTW_VERSION "Using SW" )
159+ elseif (USE_KML)
160+ set (ABACUS_BLAS_VENDOR "KML" )
161+ set (ABACUS_FFTW_VERSION "Using KML" )
162+ else ()
163+ set (ABACUS_BLAS_VENDOR "Generic BLAS" )
164+ if (FFTW3_VERSION)
165+ set (ABACUS_FFTW_VERSION "yes (v${FFTW3_VERSION} )" )
166+ else ()
167+ if (FFTW3_INCLUDE_DIR AND EXISTS "${FFTW3_INCLUDE_DIR} /fftw3.h" )
168+ file (STRINGS "${FFTW3_INCLUDE_DIR} /fftw3.h" _fftw_ver_line
169+ REGEX "^#define[\t ]+FFTW_VERSION[\t ]+\" [^\" ]+\" " )
170+ if (_fftw_ver_line)
171+ string (REGEX REPLACE "^#define[\t ]+FFTW_VERSION[\t ]+\" ([^\" ]+)\" " "\\ 1"
172+ FFTW3_VERSION "${_fftw_ver_line} " )
173+ set (ABACUS_FFTW_VERSION "yes (v${FFTW3_VERSION} )" )
174+ else ()
175+ set (ABACUS_FFTW_VERSION "yes (version unknown)" )
176+ endif ()
177+ else ()
178+ set (ABACUS_FFTW_VERSION "yes (version unknown)" )
179+ endif ()
180+ endif ()
181+ endif ()
153182endif ()
154183
155184if (ENABLE_LIBXC AND Libxc_VERSION)
@@ -160,24 +189,6 @@ else()
160189 set (ABACUS_LIBXC_VERSION "no" )
161190endif ()
162191
163- if (NOT USE_SW AND NOT MKL_FOUND AND FFTW3_VERSION)
164- set (ABACUS_FFTW_VERSION "yes (v${FFTW3_VERSION} )" )
165- elseif (NOT USE_SW AND NOT MKL_FOUND)
166- if (FFTW3_INCLUDE_DIR AND EXISTS "${FFTW3_INCLUDE_DIR} /fftw3.h" )
167- file (STRINGS "${FFTW3_INCLUDE_DIR} /fftw3.h" _fftw_ver_line REGEX "^#define[\t ]+FFTW_VERSION[\t ]+\" [^\" ]+\" " )
168- if (_fftw_ver_line)
169- string (REGEX REPLACE "^#define[\t ]+FFTW_VERSION[\t ]+\" ([^\" ]+)\" " "\\ 1" FFTW3_VERSION "${_fftw_ver_line} " )
170- set (ABACUS_FFTW_VERSION "yes (v${FFTW3_VERSION} )" )
171- else ()
172- set (ABACUS_FFTW_VERSION "yes (version unknown)" )
173- endif ()
174- else ()
175- set (ABACUS_FFTW_VERSION "yes (version unknown)" )
176- endif ()
177- else ()
178- set (ABACUS_FFTW_VERSION "no (using MKL or SW)" )
179- endif ()
180-
181192# Accelerators
182193if (USE_CUDA AND CUDAToolkit_VERSION)
183194 set (ABACUS_CUDA_VERSION "yes (v${CUDAToolkit_VERSION} )" )
@@ -397,7 +408,7 @@ message(" OpenMP Support : ${ABACUS_OPENMP_VERSION}")
397408message (" -------------------------------------------------------------------" )
398409message (" LCAO Enabled : ${ABACUS_LCAO_ENABLED} " )
399410message (" -------------------------------------------------------------------" )
400- message (" Math Libraries : MKL = ${ABACUS_MKL_SUPPORT } " )
411+ message (" Math Libraries : BLAS = ${ABACUS_BLAS_VENDOR } " )
401412message (" FFTW = ${ABACUS_FFTW_VERSION} " )
402413message (" ELPA = ${ABACUS_ELPA_VERSION} " )
403414message (" Accelerators : CUDA = ${ABACUS_CUDA_VERSION} " )
0 commit comments