From 72052d0c4d8b11cc5f5f3f58478386e27e6dd07e Mon Sep 17 00:00:00 2001 From: Malcolm Roberts Date: Mon, 21 Jul 2025 11:00:04 -0600 Subject: [PATCH 1/2] Clean up linking rocff-test to omp and ensure that libomp.so exists. --- clients/tests/CMakeLists.txt | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/clients/tests/CMakeLists.txt b/clients/tests/CMakeLists.txt index cfec9a283..5c2918225 100644 --- a/clients/tests/CMakeLists.txt +++ b/clients/tests/CMakeLists.txt @@ -185,9 +185,7 @@ set( rocfft-test_include_dirs ${ROCM_CLANG_ROOT}/include ) -set( rocfft-test_link_libs - ${FFTW_LIBRARIES} OpenMP::OpenMP_CXX - ) +set( rocfft-test_link_libs ${FFTW_LIBRARIES} ) include( ../cmake/build-gtest.cmake ) @@ -216,6 +214,18 @@ if( NOT ROCFFT_BUILD_SCOPE ) set( ROCFFT_SQLITE_LIB SQLite::SQLite3) endif() +option( BUILD_CLIENTS_TESTS_OPENMP "Build tests with OpenMP" ON ) + +if( BUILD_CLIENTS_TESTS_OPENMP ) + find_package(OpenMP REQUIRED) + list( APPEND rocfft-test_link_libs OpenMP::OpenMP_CXX ) + foreach(omplib ${OpenMP_CXX_LIBRARIES}) + if(NOT EXISTS ${omplib}) + message( FATAL_ERROR "OpenMP configuration mentions ${omplib} which does not exist." ) + endif() + endforeach(omplib) +endif() + target_link_libraries( rocfft-test PRIVATE hip::device @@ -270,20 +280,6 @@ target_include_directories( rocfft-test PRIVATE ${sqlite_local_SOURCE_DIR} ) set_property( TARGET rocfft-test APPEND PROPERTY LINK_LIBRARIES ${ROCFFT_SQLITE_LIB} ) -option( BUILD_CLIENTS_TESTS_OPENMP "Build tests with OpenMP" ON ) - -if( BUILD_CLIENTS_TESTS_OPENMP ) - find_package(OpenMP REQUIRED) - if( CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" ) - target_link_libraries( rocfft-test PRIVATE OpenMP::OpenMP_CXX -L${HIP_CLANG_ROOT}/lib -Wl,-rpath=${HIP_CLANG_ROOT}/lib ) - target_include_directories( rocfft-test PRIVATE ${HIP_CLANG_ROOT}/include ) - else() - if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - target_link_libraries( rocfft-test PRIVATE OpenMP::OpenMP_CXX ) - endif() - endif() -endif() - if(FFTW_MULTITHREAD) target_compile_options( rocfft-test PRIVATE -DFFTW_MULTITHREAD ) endif( ) From 395cfd8ae18d9dcbe8e84cdb93936b8303426f08 Mon Sep 17 00:00:00 2001 From: Malcolm Roberts Date: Tue, 22 Jul 2025 10:23:33 -0600 Subject: [PATCH 2/2] Add rpath for rocfft-test to help find libomp. --- clients/tests/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/clients/tests/CMakeLists.txt b/clients/tests/CMakeLists.txt index 5c2918225..c46a44cad 100644 --- a/clients/tests/CMakeLists.txt +++ b/clients/tests/CMakeLists.txt @@ -218,7 +218,8 @@ option( BUILD_CLIENTS_TESTS_OPENMP "Build tests with OpenMP" ON ) if( BUILD_CLIENTS_TESTS_OPENMP ) find_package(OpenMP REQUIRED) - list( APPEND rocfft-test_link_libs OpenMP::OpenMP_CXX ) + target_link_libraries( rocfft-test PRIVATE OpenMP::OpenMP_CXX + -L${HIP_CLANG_ROOT}/lib -Wl,-rpath=${HIP_CLANG_ROOT}/lib ) foreach(omplib ${OpenMP_CXX_LIBRARIES}) if(NOT EXISTS ${omplib}) message( FATAL_ERROR "OpenMP configuration mentions ${omplib} which does not exist." )