感觉像是IF(${HIP_PLATFORM} MATCHES "hcc")这里的问题,把hcc改成amd试试
使用hipcc编译时出错。

当我加载一个新环境如compiler/rocm/dtk-22.10之后,我的程序可以被正确编译并执行。但是当我第二天在次登录并加载相同的环境,使用相同的CMAKE编译同一个文件,就会出现上图中的错误,当我重新加载另一个新环境compiler/rocm/dtk-22.10.1后,又可以正确编译并执行,但是当我过一天再次登录,又会出现相同的编译错误。
cmake文件如下:
cmake_minimum_required (VERSION 2.6)
project (cudnn-training)
set(HIPDNN_PATH "/public/home/ghfund2_c1/txy_program/miopentest/hipDNN/lib/hipdnn" )
message(STATUS "HIPDNN_PATH " ${HIPDNN_PATH})
set(HIPBLAS_PATH "/opt/rocm/hipblas")
message(STATUS "hipblas" ${HIPBLAS_PATH})
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake "${HIP_PATH}/cmake")
add_definitions(-std=c++11)
# HIP_PATH
IF(NOT DEFINED ENV{HIP_PATH})
SET(HIP_PATH "/opt/rocm/hip")
ELSE()
SET(HIP_PATH $ENV{HIP_PATH})
ENDIF()
SET(HIPDNN_PATH "/public/home/ghfund2_c1/txy_program/miopentest/hipDNN/lib/hipdnn")
EXECUTE_PROCESS(COMMAND ${HIP_PATH}/bin/hipconfig -P OUTPUT_VARIABLE HIP_PLATFORM)
IF(${HIP_PLATFORM} MATCHES "hcc")
find_package(MIOpen)
include_directories(${MIOpen_INCLUDE_DIRS})
ENDIF()
set(CUDA_PROPAGATE_HOST_FLAGS OFF)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS)
SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
if(USE_GFLAGS)
add_definitions(-DUSE_GFLAGS)
endif()
SET(CMAKE_CXX_COMPILER "/opt/rocm/hip/bin/hipcc")
include_directories(${HIP_PATH}/include ${HIP_PATH} ${HIPDNN_PATH}/include ${HIPDNN_PATH} ${HIPBLAS_PATH} ${HIPBLAS_PATH}/include )
link_directories(${HIPBLAS_PATH}/lib/ ${HIPDNN_PATH}/lib/)
add_executable(kernel DCU_Depthwise_Kernel.cpp)
target_link_libraries(kernel hipdnn hipblas)

暂无数据