Files
2025-12-09 11:07:42 -08:00

210 lines
7.4 KiB
CMake

# Copyright (c) 2022 Advanced Micro Devices, Inc. All Rights Reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
# 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
hipGraphAddDependencies_old.cc
hipGraphAddEventRecordNode.cc
hipGraphAddEventWaitNode.cc
hipGraph.cc
hipSimpleGraphWithKernel.cc
hipGraphAddMemcpyNode.cc
hipGraphAddMemcpyNode_old.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_old.cc
hipGraphMemcpyNodeSetParamsToSymbol.cc
hipGraphDestroyNode.cc
hipGraphGetNodes.cc
hipGraphGetNodes_old.cc
hipGraphGetRootNodes.cc
hipGraphGetRootNodes_old.cc
hipGraphHostNodeSetParams.cc
hipGraphAddMemcpyNode1D.cc
hipGraphAddChildGraphNode.cc
hipGraphNodeGetType.cc
hipGraphExecMemcpyNodeSetParams1D_old.cc
hipGraphExecMemcpyNodeSetParams1D.cc
hipGraphGetEdges.cc
hipGraphGetEdges_old.cc
hipGraphRemoveDependencies.cc
hipGraphRemoveDependencies_old.cc
hipGraphInstantiate.cc
hipGraphExecUpdate.cc
hipGraphExecEventRecordNodeSetEvent.cc
hipGraphEventWaitNodeSetEvent.cc
hipGraphMemsetNodeGetParams.cc
hipGraphMemsetNodeSetParams.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
hipDrvGraphExecMemcpyNodeSetParams.cc
hipDrvGraphAddMemFreeNode.cc)
if(HIP_PLATFORM MATCHES "amd")
set(AMD_SRC
hipStreamCaptureExtModuleLaunchKernel.cc
hipStreamBeginCaptureToGraph.cc
hipGetProcAddressGraphApis.cc
# Below files are disbled in NVIDIA as PSDB builds are failing due to lower CUDA version.
hipGraphExecNodeSetParams.cc
hipGraphNodeSetParams.cc
hipGraphExecGetFlags.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
hipStreamGetCaptureInfo_old.cc
hipStreamEndCapture.cc
hipStreamEndCapture_old.cc
hipGraphMemcpyNodeSetParamsFromSymbol_old.cc
hipGraphMemcpyNodeSetParamsFromSymbol.cc
hipGraphExecEventWaitNodeSetEvent.cc
hipGraphAddMemsetNode.cc
hipGraphAddKernelNode.cc
hipGraphMemcpyNodeGetParams.cc
hipGraphMemcpyNodeGetParams_old.cc
hipGraphMemcpyNodeSetParams.cc
hipGraphMemcpyNodeSetParams_old.cc
hipGraphKernelNodeGetParams.cc
hipGraphKernelNodeSetParams.cc
hipGraphExecKernelNodeSetParams.cc
hipGraphLaunch.cc
hipGraphLaunch_old.cc
hipGraphMemcpyNodeSetParams1D.cc
hipGraphMemcpyNodeSetParams1D_old.cc
hipGraphExecMemcpyNodeSetParamsToSymbol_old.cc
hipGraphExecMemcpyNodeSetParamsToSymbol.cc
hipGraphNodeGetDependentNodes.cc
hipGraphNodeGetDependentNodes_old.cc
hipGraphNodeGetDependencies.cc
hipGraphNodeGetDependencies_old.cc
hipGraphHostNodeGetParams.cc
hipGraphExecChildGraphNodeSetParams.cc
hipStreamGetCaptureInfo_v2.cc
hipGraphCreate.cc
hipGraphDestroy.cc
hipStreamUpdateCaptureDependencies.cc
hipThreadExchangeStreamCaptureMode.cc
hipLaunchHostFuncWithGraph.cc
hipStreamGetCaptureInfo_v2_old.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
hipGraphAddNodeBeginCapture.cc
hipGraphCycle.cc
hipGraphPerf.cc
hipGraphKernelNodeGetAttribute.cc
hipGraphKernelNodeSetAttribute.cc
hipGraphMemAllocNodeGetParams.cc
hipGraphAddMemAllocNode.cc
hipGraphAddMemFreeNode.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})
endif()
add_custom_target(add_Kernel.code COMMAND ${CMAKE_HIP_COMPILER}
--cuda-device-only ${OFFLOAD_ARCH_LIST} -x hip ${CMAKE_CURRENT_SOURCE_DIR}/add_Kernel.cpp
-o ${CMAKE_CURRENT_BINARY_DIR}/../graph/add_Kernel.code
-I${HIP_INCLUDE_DIR} ${HIP_PATH_OPT}
-I${CMAKE_CURRENT_SOURCE_DIR}/../../include)
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)
if(HIP_PLATFORM MATCHES "amd")
add_custom_target(hipMatMul COMMAND ${CMAKE_HIP_COMPILER}
--cuda-device-only ${OFFLOAD_ARCH_LIST}
-x hip ${CMAKE_CURRENT_SOURCE_DIR}/hipMatMul.cc
-o ${CMAKE_CURRENT_BINARY_DIR}/../../unit/graph/hipMatMul.code
-I${CMAKE_CURRENT_SOURCE_DIR}/../../../../include/
-I${HIP_INCLUDE_DIR} ${HIP_PATH_OPT}
-I${CMAKE_CURRENT_SOURCE_DIR}/../../include)
add_dependencies(build_tests hipMatMul)
set_property(GLOBAL APPEND PROPERTY
G_INSTALL_CUSTOM_TARGETS ${CMAKE_CURRENT_BINARY_DIR}/hipMatMul.code)
endif()
add_dependencies(build_tests add_Kernel.code)