Skip to content

Commit f5f016a

Browse files
committed
Fix dsp linking order to use proper Openblas
1 parent 6b53ec6 commit f5f016a

3 files changed

Lines changed: 12 additions & 8 deletions

File tree

source/CMakeLists.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,16 @@ if(NOT MSVC)
211211
list(APPEND _abacus_linalg_libs m)
212212
endif()
213213

214+
# The mtblas archives bundle their own OpenBLAS objects. They must come after
215+
# the standalone BLAS/LAPACK/ScaLAPACK above so that the linker resolves the
216+
# BLAS symbols from the standalone BLAS instead of the bundled copy.
217+
if(USE_DSP)
218+
list(APPEND _abacus_linalg_libs
219+
${MTBLAS_FFT_DIR}/libmtblas/lib/libmtblas.a
220+
${MTBLAS_FFT_DIR}/libmtblas/lib/libmtblasdev.a
221+
${MTBLAS_FFT_DIR}/libmtblas/lib/libmtfft.a)
222+
endif()
223+
214224
target_link_libraries(abacus_linalg_libs INTERFACE ${_abacus_linalg_libs})
215225
target_include_directories(abacus_linalg_libs INTERFACE ${_abacus_linalg_include_dirs})
216226

source/source_base/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,6 @@ add_library(
8888
)
8989

9090
target_link_libraries(base PUBLIC container)
91-
if (USE_DSP)
92-
target_link_libraries(base PUBLIC ${MTBLAS_FFT_DIR}/libmtblas/lib/libmtblas.a)
93-
target_link_libraries(base PUBLIC ${MTBLAS_FFT_DIR}/libmtblas/lib/libmtblasdev.a)
94-
endif()
9591
add_subdirectory(module_container)
9692

9793
if(ENABLE_COVERAGE)

source/source_basis/module_pw/CMakeLists.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,8 @@ add_library(
4444
)
4545

4646
if (USE_DSP)
47-
target_link_libraries(planewave PRIVATE
48-
${MTBLAS_FFT_DIR}/libmtblas/lib/libmtfft.a)
49-
target_compile_definitions( planewave PUBLIC
50-
FFT_DAT_DIR="${MTBLAS_FFT_DIR}/datfile/mt_fft_blas.dat")
47+
target_compile_definitions( planewave PUBLIC
48+
FFT_DAT_DIR="${MTBLAS_FFT_DIR}/datfile/mt_fft_blas.dat")
5149
endif()
5250
if(ENABLE_COVERAGE)
5351
add_coverage(planewave)

0 commit comments

Comments
 (0)