Use ROCm-CMake

[ROCm/rocshmem commit: b60a460681]
このコミットが含まれているのは:
Yiltan Temucin
2024-12-05 15:24:26 -06:00
コミット 3164874941
14個のファイルの変更、123行の追加、2829行の削除
-1
ファイルの表示
@@ -1 +0,0 @@
@ROCSHMEM_GIT_REV@
-4
ファイルの表示
@@ -1,4 +0,0 @@
-- Crusher-specific additions
depends_on "craype-accel-amd-gfx90a"
depends_on "amd-mixed"
depends_on "cray-mpich"
-3
ファイルの表示
@@ -1,3 +0,0 @@
-- Crusher-specific additions
depends_on "rocm"
prereq(atleast("rocm","5.3.0"))
-4
ファイルの表示
@@ -1,4 +0,0 @@
-- hpcfund-specific additions
depends_on "rocm"
prereq(atleast("rocm","6.0.2"))
+50
ファイルの表示
@@ -0,0 +1,50 @@
###############################################################################
# Copyright (c) 2024 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.
###############################################################################
# Find available local ROCM targets
# NOTE: This will eventually be part of ROCm-CMake and should be removed at that time
function(rocm_local_targets VARIABLE)
set(${VARIABLE} "NOTFOUND" PARENT_SCOPE)
find_program(_rocm_agent_enumerator rocm_agent_enumerator HINTS /opt/rocm/bin ENV ROCM_PATH)
if(NOT _rocm_agent_enumerator STREQUAL "_rocm_agent_enumerator-NOTFOUND")
execute_process(
COMMAND "${_rocm_agent_enumerator}"
RESULT_VARIABLE _found_agents
OUTPUT_VARIABLE _rocm_agents
ERROR_QUIET
)
if (_found_agents EQUAL 0)
string(REPLACE "\n" ";" _rocm_agents "${_rocm_agents}")
unset(result)
foreach (agent IN LISTS _rocm_agents)
if (NOT agent STREQUAL "gfx000")
list(APPEND result "${agent}")
endif()
endforeach()
if(result)
list(REMOVE_DUPLICATES result)
set(${VARIABLE} "${result}" PARENT_SCOPE)
endif()
endif()
endif()
endfunction()
-33
ファイルの表示
@@ -1,33 +0,0 @@
local help_message = [[
rocSHMEM is an open-source GPU initiated networking library
for High Performance Computing and Machine Learning workloads.
Version @ROCSHMEM_FULL_VERSION@
]]
help(help_message,"\n")
whatis("Name: rocshmem")
whatis("Version: @ROCSHMEM_FULL_VERSION@")
whatis("Keywords: GPU, PGAS, RMA, HPC")
whatis("Description: tool for GPU initiated networking")
whatis("URL: https://github.com/ROCm/rocSHMEM")
-- Export environmental variables
local topDir="@CMAKE_INSTALL_PREFIX@"
local binDir="@CMAKE_INSTALL_FULL_BINDIR@"
local shareDir="@CMAKE_INSTALL_FULL_DATADIR@"
local pythonDeps="@PYTHON_DEPS@"
setenv("ROCSHMEM_DIR",topDir)
setenv("ROCSHMEM_BIN",binDir)
setenv("ROCSHMEM_SHARE",shareDir)
setenv("MPICH_GPU_SUPPORT_ENABLED",1)
-- Update relevant PATH variables
prepend_path("PATH",binDir)
if ( pythonDeps ~= "" ) then
prepend_path("PYTHONPATH",pythonDeps)
end
-7
ファイルの表示
@@ -1,7 +0,0 @@
@PACKAGE_INIT@
include("${CMAKE_CURRENT_LIST_DIR}/rocshmemTargets.cmake")
check_required_components(
"rocshmem"
)