diff --git a/CMakeLists.txt b/CMakeLists.txt index 8447a0a45..954f32cac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,6 +73,10 @@ if (NOT INSTALL_HEADER_ONLY) include(ConfigurePORTBLAS) include(SYCL) find_package(PythonInterp 3 REQUIRED) + if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/external/py_gen/README.md" ) + message(FATAL_ERROR "Repository not cloned recursively, missing submodule.\n" + "To continue please clone submodule using `git submodule update --init`") + endif() endif() if (MSVC) diff --git a/benchmark/cublas/CMakeLists.txt b/benchmark/cublas/CMakeLists.txt index 55c6bfa95..56434dd13 100644 --- a/benchmark/cublas/CMakeLists.txt +++ b/benchmark/cublas/CMakeLists.txt @@ -89,7 +89,7 @@ set(HALF_DATA_OPS "gemm" foreach(cublas_bench ${sources}) get_filename_component(bench_cublas_exec ${cublas_bench} NAME_WE) add_executable(bench_cublas_${bench_cublas_exec} ${cublas_bench} main.cpp) - target_link_libraries(bench_cublas_${bench_cublas_exec} PRIVATE benchmark CUDA::toolkit CUDA::cublas CUDA::cudart portblas Clara::Clara bench_info) + target_link_libraries(bench_cublas_${bench_cublas_exec} PRIVATE benchmark CUDA::toolkit CUDA::cublas CUDA::cudart Clara::Clara bench_info) target_compile_definitions(bench_cublas_${bench_cublas_exec} PRIVATE -DBLAS_INDEX_T=${BLAS_BENCHMARK_INDEX_TYPE}) if((${BLAS_ENABLE_COMPLEX}) AND ("${bench_cublas_exec}" IN_LIST CPLX_OPS)) target_compile_definitions(bench_cublas_${bench_cublas_exec} PRIVATE BLAS_ENABLE_COMPLEX=1) diff --git a/benchmark/rocblas/CMakeLists.txt b/benchmark/rocblas/CMakeLists.txt index 770ba889d..bd5cd5ad8 100644 --- a/benchmark/rocblas/CMakeLists.txt +++ b/benchmark/rocblas/CMakeLists.txt @@ -88,6 +88,23 @@ set(HALF_DATA_OPS "gemm" "gemm_batched_strided" ) +# HIP_CXX_COMPILER is defined equal to CMAKE_CXX_COMPILER while looking for rocblas (line 30) +# if it is passed by user it is supposed to be different from standard compiler, than it is up +# to the user provide the correct path with the correct library. +if("${HIP_CXX_COMPILER}" STREQUAL "${CMAKE_CXX_COMPILER}" ) +# Verify that libclang_rt.builtins exists for current compiler + if(EXISTS ${CLANGRT_BUILTINS} ) + message("libclang_rt found at " ${CLANGRT_BUILTINS}) + else() + message(FATAL_ERROR "libclang_rt not found at " ${CLANGRT_BUILTINS} + "\nCheck library availability for current CXX compiler. " + "Using HIP_CXX_COMPILER option, set another compiler compatible with ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} that has libclang_rt.builtins for x86_64." + "If not possible skip rocBLAS benchmarks compilation") + endif() +else() + message(WARNING "using CLANGRT_BUILTINS defined by user at " ${CLANGRT_BUILTINS}) +endif() + # Add individual benchmarks for each method foreach(rocblas_benchmark ${sources}) get_filename_component(rocblas_bench_exec ${rocblas_benchmark} NAME_WE)