diff options
Diffstat (limited to 'dev-util/rocminfo/files')
3 files changed, 0 insertions, 189 deletions
diff --git a/dev-util/rocminfo/files/rocminfo-5.1.3-detect-builtin-amdgpu.patch b/dev-util/rocminfo/files/rocminfo-5.1.3-detect-builtin-amdgpu.patch deleted file mode 100644 index 5d0b2ed284bd..000000000000 --- a/dev-util/rocminfo/files/rocminfo-5.1.3-detect-builtin-amdgpu.patch +++ /dev/null @@ -1,50 +0,0 @@ -/sys/module/amdgpu instead of lsmod for builtin amdgpu kernel module - -https://github.com/RadeonOpenCompute/rocminfo/pull/43 -https://github.com/RadeonOpenCompute/rocminfo/issues/42 -From ea4f017ed035928b1970e2589b02ec9b348c863e Mon Sep 17 00:00:00 2001 -From: YiyangWu <xgreenlandforwyy@gmail.com> -Date: Wed, 18 Aug 2021 21:05:20 +0800 -Subject: [PATCH] Check /sys/module/amdgpu for ROCk instead of lsmod - -Closes: #42 - -Signed-off-by: YiyangWu <xgreenlandforwyy@gmail.com> ---- - rocminfo.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/rocminfo.cc b/rocminfo.cc -index 871f406..58c847d 100755 ---- a/rocminfo.cc -+++ b/rocminfo.cc -@@ -995,6 +995,8 @@ AcquireAndDisplayAgentInfo(hsa_agent_t agent, void* data) { - err = AcquireAgentInfo(agent, &agent_i); - RET_IF_HSA_ERR(err); - -+ std::string ind(kIndentSize, ' '); -+ - printLabel("*******", true); - std::string agent_ind("Agent "); - agent_ind += std::to_string(*agent_number).c_str(); -@@ -1031,16 +1033,16 @@ AcquireAndDisplayAgentInfo(hsa_agent_t agent, void* data) { - - int CheckInitialState(void) { - // Check kernel module for ROCk is loaded -- FILE *fd = popen("lsmod | grep amdgpu", "r"); -- char buf[16]; -- if (fread (buf, 1, sizeof (buf), fd) == 0) { -+ int module_dir; -+ module_dir = open("/sys/module/amdgpu", O_DIRECTORY); -+ if (module_dir < 0) { - printf("%sROCk module is NOT loaded, possibly no GPU devices%s\n", - COL_RED, COL_RESET); - return -1; - } else { - printf("%sROCk module is loaded%s\n", COL_WHT, COL_RESET); -+ close(module_dir); - } -- pclose(fd); - - // Check if user belongs to the group for /dev/kfd (e.g. "video" or - // "render") diff --git a/dev-util/rocminfo/files/rocminfo-5.5.1-detect-builtin-amdgpu.patch b/dev-util/rocminfo/files/rocminfo-5.5.1-detect-builtin-amdgpu.patch deleted file mode 100644 index dd1aefe4df4f..000000000000 --- a/dev-util/rocminfo/files/rocminfo-5.5.1-detect-builtin-amdgpu.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 3a4d533a1e2a179ad873c480dc4a42ea23681263 Mon Sep 17 00:00:00 2001 -From: Mike Li <Tianxinmike.Li@amd.com> -Date: Wed, 17 Aug 2022 11:44:09 -0400 -Subject: [PATCH 1/2] Check permission and handle PermissionError exception - -Signed-off-by: Mike Li <Tianxinmike.Li@amd.com> -Change-Id: If7cb8464d0b761e4be45c85eb7147ceed609da61 ---- - rocm_agent_enumerator | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/rocm_agent_enumerator b/rocm_agent_enumerator -index 6264a5f..ceb9e11 100755 ---- a/rocm_agent_enumerator -+++ b/rocm_agent_enumerator -@@ -195,10 +195,15 @@ def readFromKFD(): - node_path = os.path.join(topology_dir, node) - if os.path.isdir(node_path): - prop_path = node_path + '/properties' -- if os.path.isfile(prop_path): -+ if os.path.isfile(prop_path) and os.access(prop_path, os.R_OK): - target_search_term = re.compile("gfx_target_version.+") - with open(prop_path) as f: -- line = f.readline() -+ try: -+ line = f.readline() -+ except PermissionError: -+ # We may have a subsystem (e.g. scheduler) limiting device visibility which -+ # could cause a permission error. -+ line = '' - while line != '' : - search_result = target_search_term.search(line) - if search_result is not None: - -From 94b4b3f0a66eb70912177ca7076b4267f8b5449b Mon Sep 17 00:00:00 2001 -From: Johannes Dieterich <johannes.dieterich@amd.com> -Date: Mon, 21 Nov 2022 18:09:55 +0000 -Subject: [PATCH 2/2] Fix rocminfo when run within docker environments - -Currently, rocminfo will fail when executed inside a docker container -due to being unable to lsmod inside docker. This has impacts on -rocprofiler use. - -Fix this behavior by querying initstate of the amdgpu module from -/sys/module/amdgpu instead. If initstate is marked "live" everything if -fine - error out with either "not loaded" (initstate file does not -exist) or "not live" (initstate file does not contain "live" string). - -Change-Id: I6f2e9655942fd4cf840fd3f56b7d69e893fa84d7 ---- - rocminfo.cc | 30 ++++++++++++++++++++++++------ - 1 file changed, 24 insertions(+), 6 deletions(-) - -diff --git a/rocminfo.cc b/rocminfo.cc -index 0842d57..8ed9111 100755 ---- a/rocminfo.cc -+++ b/rocminfo.cc -@@ -51,6 +51,7 @@ - #include <unistd.h> - #include <pwd.h> - -+#include <fstream> - #include <vector> - #include <string> - #include <sstream> -@@ -1039,16 +1040,33 @@ AcquireAndDisplayAgentInfo(hsa_agent_t agent, void* data) { - - int CheckInitialState(void) { - // Check kernel module for ROCk is loaded -- FILE *fd = popen("lsmod | grep amdgpu", "r"); -- char buf[16]; -- if (fread (buf, 1, sizeof (buf), fd) == 0) { -+ -+ std::ifstream amdgpu_initstate("/sys/module/amdgpu/initstate"); -+ if (amdgpu_initstate){ -+ std::stringstream buffer; -+ buffer << amdgpu_initstate.rdbuf(); -+ amdgpu_initstate.close(); -+ -+ std::string line; -+ bool is_live = false; -+ while (std::getline(buffer, line)){ -+ if (line.find( "live" ) != std::string::npos){ -+ is_live = true; -+ break; -+ } -+ } -+ if (is_live){ -+ printf("%sROCk module is loaded%s\n", COL_WHT, COL_RESET); -+ } else { -+ printf("%sROCk module is NOT live, possibly no GPU devices%s\n", -+ COL_RED, COL_RESET); -+ return -1; -+ } -+ } else { - printf("%sROCk module is NOT loaded, possibly no GPU devices%s\n", - COL_RED, COL_RESET); - return -1; -- } else { -- printf("%sROCk module is loaded%s\n", COL_WHT, COL_RESET); - } -- pclose(fd); - - // Check if user belongs to the group for /dev/kfd (e.g. "video" or - // "render") diff --git a/dev-util/rocminfo/files/rocminfo-6.0.0-python-3-12-support.patch b/dev-util/rocminfo/files/rocminfo-6.0.0-python-3-12-support.patch deleted file mode 100644 index 2b14e42e4705..000000000000 --- a/dev-util/rocminfo/files/rocminfo-6.0.0-python-3-12-support.patch +++ /dev/null @@ -1,34 +0,0 @@ -Fix "SyntaxWarning: invalid escape sequence" SyntaxWarning in python 3.12+ -Bug: https://github.com/ROCm/rocminfo/issues/69 ---- a/rocm_agent_enumerator -+++ b/rocm_agent_enumerator -@@ -92,7 +92,7 @@ def getGCNISA(line, match_from_beginning = False): - return result.group(0) - return None - --@staticVars(search_name=re.compile("gfx[0-9a-fA-F]+(:[-+:\w]+)?")) -+@staticVars(search_name=re.compile(r"gfx[0-9a-fA-F]+(:[-+:\w]+)?")) - def getGCNArchName(line): - result = getGCNArchName.search_name.search(line) - -@@ -149,9 +149,9 @@ def readFromROCMINFO(search_arch_name = False): - - # search AMDGCN gfx ISA - if search_arch_name is True: -- line_search_term = re.compile("\A\s+Name:\s+(amdgcn-amd-amdhsa--gfx\d+)") -+ line_search_term = re.compile(r"\A\s+Name:\s+(amdgcn-amd-amdhsa--gfx\d+)") - else: -- line_search_term = re.compile("\A\s+Name:\s+(gfx\d+)") -+ line_search_term = re.compile(r"\A\s+Name:\s+(gfx\d+)") - for line in rocminfo_output: - if line_search_term.match(line) is not None: - if search_arch_name is True: -@@ -172,7 +172,7 @@ def readFromLSPCI(): - except: - lspci_output = [] - -- target_search_term = re.compile("1002:\w+") -+ target_search_term = re.compile(r"1002:\w+") - for line in lspci_output: - search_result = target_search_term.search(line) - if search_result is not None: |