diff --git a/catch/CMakeLists.txt b/catch/CMakeLists.txt index 9d5477f098..3cb5c633fc 100644 --- a/catch/CMakeLists.txt +++ b/catch/CMakeLists.txt @@ -6,8 +6,7 @@ set(CMAKE_CXX_COMPILER_WORKS 1) project(hiptests) -#forcing exe per file. -set(STANDALONE_TESTS 1) +# flag to generate standalone exe per src file. message(STATUS "STANDALONE_TESTS : ${STANDALONE_TESTS}") # Check if platform and compiler are set @@ -23,48 +22,46 @@ else() message(FATAL_ERROR "Unexpected HIP_PLATFORM: " ${HIP_PLATFORM}) endif() -# Set HIP Path -if(NOT DEFINED HIP_PATH) - if(DEFINED ENV{HIP_PATH}) - set(HIP_PATH $ENV{HIP_PATH} CACHE STRING "HIP Path") - else() - set(HIP_PATH "${PROJECT_BINARY_DIR}") - endif() +if (WIN32) + set(EXT ".bat") endif() -message(STATUS "HIP Path: ${HIP_PATH}") -# Set ROCM Path +# Read -DROCM_Path and env{ROCM_PATH} if(NOT DEFINED ROCM_PATH) if(DEFINED ENV{ROCM_PATH}) set(ROCM_PATH $ENV{ROCM_PATH} CACHE STRING "ROCM Path") - else() - cmake_path(GET HIP_PATH PARENT_PATH ROCM_PATH) - if (NOT EXISTS "${ROCM_PATH}/bin/rocm_agent_enumerator") - set(ROCM_PATH "/opt/rocm/") - endif() endif() endif() -file(TO_CMAKE_PATH "${ROCM_PATH}" ROCM_PATH) -message(STATUS "ROCM Path: ${ROCM_PATH}") - -if(UNIX) - set(CMAKE_CXX_COMPILER "${HIP_PATH}/bin/hipcc") - set(CMAKE_C_COMPILER "${HIP_PATH}/bin/hipcc") - set(HIPCONFIG_EXECUTABLE "${HIP_PATH}/bin/hipconfig") - execute_process(COMMAND perl ${HIPCONFIG_EXECUTABLE} --version - OUTPUT_VARIABLE HIP_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE) -else() - # using cmake_path as it handles path correctly. - # Set both compilers else windows cmake complains of mismatch - cmake_path(SET CMAKE_CXX_COMPILER "${HIP_PATH}/bin/hipcc.bat") - cmake_path(SET CMAKE_C_COMPILER "${HIP_PATH}/bin/hipcc.bat") - set(HIPCONFIG_EXECUTABLE "${HIP_PATH}/bin/hipconfig.bat") - execute_process(COMMAND ${HIPCONFIG_EXECUTABLE} --version - OUTPUT_VARIABLE HIP_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE) +# Read -DHIP_Path and env{HIP_PATH} +if(NOT DEFINED HIP_PATH) + if(DEFINED ENV{HIP_PATH}) + set(HIP_PATH $ENV{HIP_PATH} CACHE STRING "HIP Path") + endif() endif() + +# both are not set +if(NOT DEFINED HIP_PATH AND NOT DEFINED ROCM_PATH) + set(HIP_PATH "/opt/rocm") + set(ROCM_PATH "/opt/rocm") +elseif(DEFINED HIP_PATH AND NOT DEFINED ROCM_PATH) + execute_process(COMMAND ${HIP_PATH}/bin/hipconfig${EXT} --rocmpath + OUTPUT_VARIABLE ROCM_PATH + OUTPUT_STRIP_TRAILING_WHITESPACE) +elseif(DEFINED ROCM_PATH AND NOT DEFINED HIP_PATH) + set(HIP_PATH ${ROCM_PATH}) +endif() +message(STATUS "HIP_PATH: ${HIP_PATH}") +message(STATUS "ROCM_PATH: ${ROCM_PATH}") + + +set(CMAKE_CXX_COMPILER "${HIP_PATH}/bin/hipcc${EXT}") +set(CMAKE_C_COMPILER "${HIP_PATH}/bin/hipcc${EXT}") +set(HIPCONFIG_EXECUTABLE "${HIP_PATH}/bin/hipconfig${EXT}") +execute_process(COMMAND ${HIPCONFIG_EXECUTABLE} --version + OUTPUT_VARIABLE HIP_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(HIP_PLATFORM STREQUAL "amd") # prioritize -DROCM_PATH over env{ROCM_PATH} for amd platform only set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --rocm-path=${ROCM_PATH}") @@ -145,6 +142,11 @@ if (WIN32) execute_process(COMMAND ${LLVM_RC_PATH} ${CMAKE_CURRENT_BINARY_DIR}/catchProp.rc OUTPUT_VARIABLE RC_OUTPUT) set(PROP_RC ${CMAKE_CURRENT_BINARY_DIR}) + # When args to linker exceeds max chars. + # msbuild writes args to a rsp file. + # This is used to reference the obj file correctly + SET(CMAKE_C_RESPONSE_FILE_LINK_FLAG "") + SET(CMAKE_CXX_RESPONSE_FILE_LINK_FLAG "") endif() if(HIP_PLATFORM MATCHES "amd" AND HIP_COMPILER MATCHES "clang") @@ -227,14 +229,14 @@ add_custom_target(build_tests) # Tests folder -add_subdirectory(unit ${CATCH_BUILD_DIR}/unit) +#add_subdirectory(unit ${CATCH_BUILD_DIR}/unit) add_subdirectory(ABM ${CATCH_BUILD_DIR}/ABM) add_subdirectory(kernels ${CATCH_BUILD_DIR}/kernels) add_subdirectory(hipTestMain ${CATCH_BUILD_DIR}/hipTestMain) -add_subdirectory(stress ${CATCH_BUILD_DIR}/stress) -add_subdirectory(TypeQualifiers ${CATCH_BUILD_DIR}/TypeQualifiers) +#add_subdirectory(stress ${CATCH_BUILD_DIR}/stress) +#add_subdirectory(TypeQualifiers ${CATCH_BUILD_DIR}/TypeQualifiers) if(UNIX) - add_subdirectory(multiproc ${CATCH_BUILD_DIR}/multiproc) +# add_subdirectory(multiproc ${CATCH_BUILD_DIR}/multiproc) endif() cmake_policy(POP) diff --git a/catch/hipTestMain/config/config_amd_linux_common.json b/catch/hipTestMain/config/config_amd_linux_common.json index a9f9aa37e3..b5eb2dfca6 100644 --- a/catch/hipTestMain/config/config_amd_linux_common.json +++ b/catch/hipTestMain/config/config_amd_linux_common.json @@ -25,6 +25,8 @@ "Unit_hipStreamAttachMemAsync_Positive_Basic", "Unit_hipStreamAttachMemAsync_Positive_AttachGlobal", "Unit_hipStreamAttachMemAsync_Negative_Parameters", - "Unit_hipMemGetAddressRange_Positive" + "Unit_hipMemGetAddressRange_Positive", + "Unit_hipGraphAddMemcpyNode1D_Negative_Basic", + "Unit_hipStreamGetCaptureInfo_Nullstream_CaptureInfo" ] }