Files
TheRock/rocm-systems/projects/hip-tests/catch/unit/graph/CMakeLists.txt
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

221 lines
8.0 KiB
CMake

# Copyright (c) Advanced Micro Devices, Inc., or its affiliates.
#
# SPDX-License-Identifier: MIT
# FIXME: cjatin
# This is a temp hack to pass it on windows since it has a char limit for
# command line. Eventually we need to use rsp files with ninja on windows.
# But this exposes several problems with hipcc and build system on windows.
# While those are fixed, this hack should allow us to pass windows CI.
set(TEST_SRC
hipGraphAddEmptyNode.cc
hipGraphAddDependencies.cc
hipGraphAddEventRecordNode.cc
hipGraphAddEventWaitNode.cc
hipGraph.cc
hipSimpleGraphWithKernel.cc
hipGraphAddMemcpyNode.cc
hipGraphClone.cc
hipGraphInstantiateWithFlags.cc
hipGraphInstantiateWithParams.cc
hipGraphAddHostNode.cc
hipGraphAddMemcpyNodeFromSymbol_old.cc
hipGraphAddMemcpyNodeFromSymbol.cc
hipGraphChildGraphNodeGetGraph.cc
hipGraphNodeFindInClone.cc
hipGraphExecHostNodeSetParams.cc
hipGraphAddMemcpyNodeToSymbol_old.cc
hipGraphAddMemcpyNodeToSymbol.cc
hipGraphExecMemsetNodeSetParams.cc
hipGraphMemcpyNodeSetParamsToSymbol.cc
hipGraphDestroyNode.cc
hipGraphGetNodes.cc
hipGraphGetRootNodes.cc
hipGraphGetRootNodes_old.cc
hipGraphHostNodeSetParams.cc
hipGraphAddMemcpyNode1D.cc
hipGraphAddChildGraphNode.cc
hipGraphNodeGetType.cc
hipGraphExecMemcpyNodeSetParams1D_old.cc
hipGraphExecMemcpyNodeSetParams1D.cc
hipGraphGetEdges.cc
hipGraphRemoveDependencies.cc
hipGraphInstantiate.cc
hipGraphExecUpdate.cc
hipGraphExecEventRecordNodeSetEvent.cc
hipGraphEventWaitNodeSetEvent.cc
hipGraphMemsetNodeGetParams.cc
hipGraphMemsetNodeSetParams.cc
hipGraphMemsetNodeFlatAlloc.cc
hipGraphExecMemcpyNodeSetParamsFromSymbol_old.cc
hipGraphExecMemcpyNodeSetParamsFromSymbol.cc
hipGraphEventRecordNodeGetEvent.cc
hipGraphEventRecordNodeSetEvent.cc
hipGraphEventWaitNodeGetEvent.cc
hipGraphExecMemcpyNodeSetParams.cc
hipGraphExecMemcpyNodeSetParams_old.cc
hipStreamBeginCapture.cc
hipGraphAddMemcpyNode1D_old.cc
hipStreamBeginCapture_old.cc
hipStreamIsCapturing.cc
hipStreamIsCapturing_old.cc
hipGraphMemFreeNodeGetParams.cc
hipGraphAsyncUserObj.cc
hipGraphExecBatchMemOpNodeSetParams.cc
hipGraphAddBatchMemOpNode.cc
hipGraphBatchMemOpNodeSetParams.cc
hipGraphBatchMemOpNodeCapture.cc
hipDrvGraphExecMemcpyNodeSetParams.cc
hipDrvGraphAddMemFreeNode.cc
hipGraphAddNodeConcurrent.cc)
if(HIP_PLATFORM MATCHES "amd")
set(AMD_SRC
hipStreamCaptureExtModuleLaunchKernel.cc
hipStreamBeginCaptureToGraph.cc
hipGetProcAddressGraphApis.cc
# Below files are disabled in NVIDIA as PSDB builds are failing due to lower CUDA version.
hipGraphExecNodeSetParams.cc
hipGraphNodeSetParams.cc
hipGraphExecGetFlags.cc
# this files are disabled for NVIDIA due to lacking corresponding hipStreamGetCaptureInfo_v3 implementation
hipStreamGetCaptureInfo_old.cc
hipStreamGetCaptureInfo_v2.cc
hipStreamUpdateCaptureDependencies.cc
hipGraphAddNodeBeginCapture.cc
)
set(TEST_SRC ${TEST_SRC} ${AMD_SRC})
endif()
hip_add_exe_to_target(NAME GraphsTest1
TEST_SRC ${TEST_SRC}
TEST_TARGET_NAME build_tests)
set(TEST_SRC
hipStreamGetCaptureInfo.cc
hipStreamEndCapture.cc
hipStreamEndCapture_old.cc
hipGraphMemcpyNodeSetParamsFromSymbol_old.cc
hipGraphMemcpyNodeSetParamsFromSymbol.cc
hipGraphExecEventWaitNodeSetEvent.cc
hipGraphAddMemsetNode.cc
hipGraphAddKernelNode.cc
hipGraphMemcpyNodeGetParams.cc
hipGraphMemcpyNodeGetParams_old.cc
hipGraphMemcpyNodeSetParams.cc
hipGraphKernelNodeGetParams.cc
hipGraphKernelNodeSetParams.cc
hipGraphExecKernelNodeSetParams.cc
hipGraphLaunch.cc
hipGraphLaunch_old.cc
hipGraphMemcpyNodeSetParams1D.cc
hipGraphMemcpyNodeSetParams1D_old.cc
hipGraphExecMemcpyNodeSetParamsToSymbol_old.cc
hipGraphExecMemcpyNodeSetParamsToSymbol.cc
hipGraphNodeGetDependentNodes.cc
hipGraphNodeGetDependencies.cc
hipGraphHostNodeGetParams.cc
hipGraphExecChildGraphNodeSetParams.cc
hipGraphCreate.cc
hipGraphDestroy.cc
hipThreadExchangeStreamCaptureMode.cc
hipLaunchHostFuncWithGraph.cc
hipUserObjectCreate.cc
hipUserObjectRelease.cc
hipUserObjectRetain.cc
hipGraphReleaseUserObject.cc
hipGraphRetainUserObject.cc
hipGraphDebugDotPrint.cc
hipGraphCloneComplx.cc
hipGraphNodeSetEnabled.cc
hipGraphNodeGetEnabled.cc
hipGraphExecDestroy.cc
hipGraphUpload.cc
hipGraphKernelNodeCopyAttributes.cc
hipGraphCycle.cc
hipGraphPerf.cc
hipGraphKernelNodeGetAttribute.cc
hipGraphKernelNodeSetAttribute.cc
hipGraphMemAllocNodeGetParams.cc
hipGraphAddMemAllocNode.cc
hipGraphAddMemFreeNode.cc
hipGraphAllocNodeMemReuse.cc
hipDrvGraphMemcpyNodeGetParams.cc
hipDrvGraphMemcpyNodeSetParams.cc
hipDeviceSetGraphMemAttribute.cc
hipDeviceGetGraphMemAttribute.cc
hipDeviceGraphMemTrim.cc
hipDrvGraphExecMemsetNodeSetParams.cc
)
if(HIP_PLATFORM MATCHES "amd")
set(AMD_SRC
# hipGraphAddNode, hipGraphNodeParams, hipMemcpyNodeParams are not mapped to Nvidia
hipGraphAddNode.cc
# hipDrvGraphAddMemsetNode, HIP_MEMSET_NODE_PARAMS are not mapped to Nvidia
hipDrvGraphAddMemsetNode.cc
# hipDrvGraphAddMemcpyNode not mapped to Nvidia
hipDrvGraphAddMemcpyNode.cc
)
set(TEST_SRC ${TEST_SRC} ${AMD_SRC})
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/add_Kernel.code
COMMAND ${CMAKE_HIP_COMPILER} ${HIP_DEVICE_BUILD_FLAGS_NO_ARCH} ${OFFLOAD_ARCH_LIST}
--cuda-device-only -x hip ${CMAKE_CURRENT_SOURCE_DIR}/add_Kernel.cpp
-o ${CMAKE_CURRENT_BINARY_DIR}/add_Kernel.code
-I${HIP_INCLUDE_DIR} ${HIP_PATH_OPT}
-I${CMAKE_CURRENT_SOURCE_DIR}/../../include
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/add_Kernel.cpp
COMMENT "Compiling add_Kernel.code")
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/hipMatMul.code
COMMAND ${CMAKE_HIP_COMPILER} ${HIP_DEVICE_BUILD_FLAGS_NO_ARCH} ${OFFLOAD_ARCH_LIST}
--cuda-device-only
-x hip ${CMAKE_CURRENT_SOURCE_DIR}/hipMatMul.cc
-o ${CMAKE_CURRENT_BINARY_DIR}/hipMatMul.code
-I${CMAKE_CURRENT_SOURCE_DIR}/../../../../include/
-I${HIP_INCLUDE_DIR} ${HIP_PATH_OPT}
-I${CMAKE_CURRENT_SOURCE_DIR}/../../include
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/hipMatMul.cc
COMMENT "Compiling hipMatMul.code")
add_custom_target(hipMatMul DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/hipMatMul.code)
set_property(GLOBAL APPEND PROPERTY
G_INSTALL_CUSTOM_TARGETS ${CMAKE_CURRENT_BINARY_DIR}/hipMatMul.code)
if(UNIX)
set(TEST_KERNEL_ARG_PREFETCH_SRC hipSimpleGraphWithKernel.cc)
hip_add_exe_to_target(NAME GraphsKernelArgPrefetchTest
TEST_SRC ${TEST_KERNEL_ARG_PREFETCH_SRC}
TEST_TARGET_NAME build_tests)
set_target_properties(GraphsKernelArgPrefetchTest PROPERTIES COMPILE_FLAGS "-DKERNEL_ARG_PREFETCH -mllvm -amdgpu-kernarg-preload-count=16")
endif()
else()
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/add_Kernel.code
COMMAND ${CMAKE_HIP_COMPILER}
--fatbin ${OFFLOAD_ARCH_LIST} -x cu ${CMAKE_CURRENT_SOURCE_DIR}/add_Kernel.cpp
-o ${CMAKE_CURRENT_BINARY_DIR}/add_Kernel.code
-I${HIP_INCLUDE_DIR}
-I${CMAKE_CURRENT_SOURCE_DIR}/../../include
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/add_Kernel.cpp
COMMENT "Compiling add_Kernel.code")
endif()
add_custom_target(add_Kernel DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/add_Kernel.code)
set_property(GLOBAL APPEND PROPERTY
G_INSTALL_CUSTOM_TARGETS ${CMAKE_CURRENT_BINARY_DIR}/add_Kernel.code)
hip_add_exe_to_target(NAME GraphsTest2
TEST_SRC ${TEST_SRC}
TEST_TARGET_NAME build_tests)
# Wire kernel artifacts to the consuming test exes so `make GraphsTest1` /
# `make GraphsTest2` builds all their dependencies. The kernels are loaded at
# runtime by tests in either binary, so wire to both.
add_dependencies(GraphsTest1 add_Kernel)
add_dependencies(GraphsTest2 add_Kernel)
if(HIP_PLATFORM MATCHES "amd")
add_dependencies(GraphsTest1 hipMatMul)
add_dependencies(GraphsTest2 hipMatMul)
if(UNIX)
add_dependencies(GraphsKernelArgPrefetchTest add_Kernel)
endif()
endif()