Compile failure against ROCm 6.0.2

Issue #73 resolved
Jaap Versteegh created an issue
[  9%] Building CXX object CMakeFiles/magma.dir/interface_hip/copy_v1.cpp.o
/home/user/Source/magma/interface_hip/blas_z_v2.cpp:1853:9: error: no matching function for call to 'hipblasZtrmm'
        hipblasZtrmm(
        ^~~~~~~~~~~~
/opt/rocm-6.0.2/include/hipblas/hipblas.h:17918:32: note: candidate function not viable: requires 14 arguments, but 12 were provided
HIPBLAS_EXPORT hipblasStatus_t hipblasZtrmm(hipblasHandle_t             handle,

Comments (4)

  1. Jaap Versteegh reporter

    Some further investigation suggest this is an issue in the CMake build. The define ROCM_VERSION that is used in the code to select the right parameter list is not being set in the CMake build

  2. Jaap Versteegh reporter

    I fixed it with the following diff:

    diff --git a/CMakeLists.txt b/CMakeLists.txt
    index 7a0e7470c..a8c8c0ecc 100644
    --- a/CMakeLists.txt
    +++ b/CMakeLists.txt
    @@ -399,6 +399,10 @@ if (MAGMA_ENABLE_HIP)
         set(GPU_ARCH_FLAGS ${DEVCCFLAGS})
    
         #add_compile_options(${GPU_ARCH_FLAGS})
    +    set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__HIP_PLATFORM_HCC__" )
    +    execute_process(COMMAND "${CMAKE_SOURCE_DIR}/tools/get-rocm-version.sh" OUTPUT_VARIABLE ROCM_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
    +    message(STATUS "ROCM_VERSION=${ROCM_VERSION}")
    +    set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DROCM_VERSION=${ROCM_VERSION}" )
       else()
         message( STATUS "Could not find HIP" )
       endif()
    

  3. Ahmad Abdelfattah

    Thank you Jaap for raising this issue. I reproduced the issue and your solution works. I have just incorporated your fix into master.

  4. Log in to comment