From 9b93cbe21de7f97b650d5ea0dd20f8d47ad7dbb6 Mon Sep 17 00:00:00 2001 From: Chris Freehill Date: Wed, 3 Jul 2019 11:29:19 -0500 Subject: [PATCH] Add initial support for getting process information Added implementation of and tests for rsmi_dev_compute_process_info_by_pid_get() and rsmi_dev_compute_process_info_get() Change-Id: I4c4f5f39fe6701da37916c9ad41449b5d35ac7af --- CMakeLists.txt | 2 + docs/ROCm_SMI_Manual.pdf | Bin 305817 -> 313689 bytes include/rocm_smi/rocm_smi.h | 72 +++++++ include/rocm_smi/rocm_smi_kfd.h | 60 ++++++ include/rocm_smi/rocm_smi_utils.h | 4 + src/rocm_smi.cc | 50 +++++ src/rocm_smi_device.cc | 15 +- src/rocm_smi_kfd.cc | 161 ++++++++++++++++ src/rocm_smi_main.cc | 33 +--- src/rocm_smi_utils.cc | 47 +++++ .../rocm_smi_test/functional/mem_util_read.cc | 1 - .../functional/process_info_read.cc | 181 ++++++++++++++++++ .../functional/process_info_read.h | 73 +++++++ tests/rocm_smi_test/main.cc | 10 +- 14 files changed, 660 insertions(+), 49 deletions(-) create mode 100755 include/rocm_smi/rocm_smi_kfd.h create mode 100755 src/rocm_smi_kfd.cc create mode 100755 tests/rocm_smi_test/functional/process_info_read.cc create mode 100755 tests/rocm_smi_test/functional/process_info_read.h diff --git a/CMakeLists.txt b/CMakeLists.txt index a6265607d1..cccf8c135c 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -90,6 +90,7 @@ set(SMI_SRC_LIST ${SMI_SRC_LIST} "${SRC_DIR}/rocm_smi.cc") set(SMI_SRC_LIST ${SMI_SRC_LIST} "${SRC_DIR}/rocm_smi_power_mon.cc") set(SMI_SRC_LIST ${SMI_SRC_LIST} "${SRC_DIR}/rocm_smi_utils.cc") set(SMI_SRC_LIST ${SMI_SRC_LIST} "${SRC_DIR}/rocm_smi_counters.cc") +set(SMI_SRC_LIST ${SMI_SRC_LIST} "${SRC_DIR}/rocm_smi_kfd.cc") set(SMI_SRC_LIST ${SMI_SRC_LIST} "${SRC_DIR}/shared_mutex/shared_mutex.c") set(SMI_INC_LIST "${INC_DIR}/rocm_smi_device.h") @@ -100,6 +101,7 @@ set(SMI_INC_LIST ${SMI_INC_LIST} "${INC_DIR}/rocm_smi_utils.h") set(SMI_INC_LIST ${SMI_INC_LIST} "${INC_DIR}/rocm_smi_common.h") set(SMI_INC_LIST ${SMI_INC_LIST} "${INC_DIR}/rocm_smi_exception.h") set(SMI_INC_LIST ${SMI_INC_LIST} "${INC_DIR}/rocm_smi_counters.h") +set(SMI_INC_LIST ${SMI_INC_LIST} "${INC_DIR}/rocm_smi_kfd.h") set(SMI_INC_LIST ${SMI_INC_LIST} "${SRC_DIR}/shared_mutex/shared_mutex.h") set(SMI_EXAMPLE_EXE "rocm_smi_ex") diff --git a/docs/ROCm_SMI_Manual.pdf b/docs/ROCm_SMI_Manual.pdf index 5f651d48c329aefc9f2125572a08e924df180e56..7f65a42ac18a002083fb898eaa854c094783a6d8 100644 GIT binary patch delta 111916 zcmafabBu4@vTfV8ZQHiJ+jjSE+rPGLyL)%>#~2}HS(vRf%nPMV#ZZ|lA|6DsF67{6+=Q;3FpP^xZ0vv^%zN9e+%t7zmdY-C_!=dsIYZ z%vT$O7l#^6#P~D_K}*$Z%i#evXv^dj49;PEh;Qx>3Ik9RM^Wf2;^5hXfpLN<}2 z#?u-$Ch}kf=GhBOj79)~Agetg;e_zj?_UG^?!4~>0pZsS*bU}H@!0!q?;&*hpipl} zl+HxVbjmOFj|(#I2)ad9Ac4av4&E|kqMFJjg7TMf@M21+D1=%TqQ(jy5`uyVQuPyY zu)N(30041%0Ab%Uoo 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�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 delta 104142 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 diff --git a/include/rocm_smi/rocm_smi.h b/include/rocm_smi/rocm_smi.h index 396a3de8aa..f270bcd36d 100755 --- a/include/rocm_smi/rocm_smi.h +++ b/include/rocm_smi/rocm_smi.h @@ -586,6 +586,14 @@ typedef struct { uint64_t uncorrectable_err; //!< Accumulated uncorrectable errors } rsmi_error_count_t; +/** + * @brief This structure contains information specific to a process. + */ +typedef struct { + uint32_t process_id; //!< Process ID + uint32_t pasid; //!< PASID +} rsmi_process_info_t; + /*****************************************************************************/ /** @defgroup InitShutAdmin Initialization and Shutdown * These functions are used for initialization of ROCm SMI and clean up when @@ -1843,6 +1851,70 @@ rsmi_counter_available_counters_get(uint32_t dv_ind, rsmi_event_group_t grp, uint32_t *available); /** @} */ // end of PerfCntr +/*****************************************************************************/ +/** @defgroup SysInfo System Information Functions + * These functions are used to configure, query and control performance + * counting. + * @{ + */ + +/** + * @brief Get process information about processes currently using GPU + * + * @details Given a non-NULL pointer to an array @p procs of + * ::rsmi_process_info_t's, of length *@p num_items, this function will write + * up to *@p num_items instances of ::rsmi_process_info_t to the memory pointed + * to by @p procs. These instances contain information about each process + * utilizing a GPU. If @p procs is not NULL, @p num_items will be updated with + * the number of processes actually written. If @p procs is NULL, @p num_items + * will be updated with the number of processes for which there is current + * process information. Calling this function with @p procs being NULL is a way + * to determine how much memory should be allocated for when @p procs is not + * NULL. + * + * @param[inout] procs a pointer to memory provided by the caller to which + * process information will be written. This may be NULL in which case only @p + * num_items will be updated with the number of processes found. + * + * @param[inout] num_items A pointer to a uint32_t, which on input, should + * contain the amount of memory in ::rsmi_process_info_t's which have been + * provided by the @p procs argument. On output, if @p procs is non-NULL, this + * will be updated with the number ::rsmi_process_info_t structs actually + * written. If @p procs is NULL, this argument will be updated with the number + * processes for which there is information. + * + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * + * ::RSMI_STATUS_INSUFFICIENT_SIZE is returned if there were more + * processes for which information was available, but not enough space was + * provided as indicated by @p procs and @p num_items, on input. + */ +rsmi_status_t +rsmi_compute_process_info_get(rsmi_process_info_t *procs, uint32_t *num_items); + +/** + * @brief Get process information about a specific process + * + * @details Given a pointer to an ::rsmi_process_info_t @p proc and a process id + * @p pid, this function will write the process information for @p pid, if + * available, to the memory pointed to by @p proc. + * + * @param[in] pid The process ID for which process information is being requested + * + * @param[inout] proc a pointer to a ::rsmi_process_info_t to which + * process information for @p pid will be written if it is found. + * + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * + * ::RSMI_STATUS_NOT_FOUND is returned if there was no process information + * found for the provided @p pid + * + */ +rsmi_status_t +rsmi_compute_process_info_by_pid_get(uint32_t pid, rsmi_process_info_t *proc); + +/** @} */ // end of SysInfo + #ifdef __cplusplus } #endif // __cplusplus diff --git a/include/rocm_smi/rocm_smi_kfd.h b/include/rocm_smi/rocm_smi_kfd.h new file mode 100755 index 0000000000..f9b6440c86 --- /dev/null +++ b/include/rocm_smi/rocm_smi_kfd.h @@ -0,0 +1,60 @@ +/* + * ============================================================================= + * The University of Illinois/NCSA + * Open Source License (NCSA) + * + * Copyright (c) 2019, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Developed by: + * + * AMD Research and AMD ROC Software Development + * + * Advanced Micro Devices, Inc. + * + * www.amd.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal with 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: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimers. + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimers in + * the documentation and/or other materials provided with the distribution. + * - Neither the names of , + * nor the names of its contributors may be used to endorse or promote + * products derived from this Software without specific prior written + * permission. + * + * 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 CONTRIBUTORS 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 WITH THE SOFTWARE. + * + */ +#ifndef INCLUDE_ROCM_SMI_ROCM_SMI_KFD_H_ +#define INCLUDE_ROCM_SMI_ROCM_SMI_KFD_H_ + +#include "rocm_smi/rocm_smi.h" + +namespace amd { +namespace smi { + +int +GetProcessInfo(rsmi_process_info_t *procs, uint32_t num_allocated, + uint32_t *num_procs_found); +int +GetProcessInfoForPID(uint32_t pid, rsmi_process_info_t *proc); + +} // namespace smi +} // namespace amd + +#endif // INCLUDE_ROCM_SMI_ROCM_SMI_KFD_H_ diff --git a/include/rocm_smi/rocm_smi_utils.h b/include/rocm_smi/rocm_smi_utils.h index 4612fadce4..7b2ccbf113 100755 --- a/include/rocm_smi/rocm_smi_utils.h +++ b/include/rocm_smi/rocm_smi_utils.h @@ -62,6 +62,10 @@ namespace amd { namespace smi { +int SameFile(const std::string fileA, const std::string fileB); +bool FileExists(char const *filename); +int isRegularFile(std::string fname, bool *is_reg); + int ReadSysfsStr(std::string path, std::string *retStr); int WriteSysfsStr(std::string path, std::string val); diff --git a/src/rocm_smi.cc b/src/rocm_smi.cc index 34d6063c1a..777c298c94 100755 --- a/src/rocm_smi.cc +++ b/src/rocm_smi.cc @@ -62,6 +62,7 @@ #include "rocm_smi/rocm_smi_utils.h" #include "rocm_smi/rocm_smi_exception.h" #include "rocm_smi/rocm_smi_counters.h" +#include "rocm_smi/rocm_smi_kfd.h" #include "rocm_smi/rocm_smi64Config.h" @@ -130,6 +131,7 @@ static pthread_mutex_t *get_mutex(uint32_t dv_ind) { static rsmi_status_t errno_to_rsmi_status(uint32_t err) { switch (err) { case 0: return RSMI_STATUS_SUCCESS; + case ESRCH: return RSMI_STATUS_NOT_FOUND; case EACCES: return RSMI_STATUS_PERMISSION; case EPERM: case ENOENT: return RSMI_STATUS_NOT_SUPPORTED; @@ -2299,3 +2301,51 @@ rsmi_dev_counter_group_supported(uint32_t dv_ind, rsmi_event_group_t group) { CATCH } +rsmi_status_t +rsmi_compute_process_info_get(rsmi_process_info_t *procs, + uint32_t *num_items) { + TRY + + if (num_items == nullptr) { + return RSMI_STATUS_INVALID_ARGS; + } + + uint32_t procs_found = 0; + + int err = amd::smi:: GetProcessInfo(procs, *num_items, &procs_found); + + if (err) { + return errno_to_rsmi_status(err); + } + + if (procs && *num_items < procs_found) { + return RSMI_STATUS_INSUFFICIENT_SIZE; + } + if (procs == nullptr || *num_items > procs_found) { + *num_items = procs_found; + } + + return RSMI_STATUS_SUCCESS; + + CATCH +} + +rsmi_status_t +rsmi_compute_process_info_by_pid_get(uint32_t pid, + rsmi_process_info_t *proc) { + TRY + + if (proc == nullptr) { + return RSMI_STATUS_INVALID_ARGS; + } + + int err = amd::smi::GetProcessInfoForPID(pid, proc); + + if (err) { + return errno_to_rsmi_status(err); + } + + return RSMI_STATUS_SUCCESS; + + CATCH +} diff --git a/src/rocm_smi_device.cc b/src/rocm_smi_device.cc index f1896ea8d7..7065d9486f 100755 --- a/src/rocm_smi_device.cc +++ b/src/rocm_smi_device.cc @@ -60,6 +60,7 @@ #include "rocm_smi/rocm_smi_device.h" #include "rocm_smi/rocm_smi.h" #include "rocm_smi/rocm_smi_exception.h" +#include "rocm_smi/rocm_smi_utils.h" extern "C" { #include "shared_mutex.h" // NOLINT @@ -159,20 +160,6 @@ static const std::map kDevPerfLvlMap = { {RSMI_DEV_PERF_LEVEL_UNKNOWN, kDevPerfLevelUnknownStr}, }; -static int isRegularFile(std::string fname, bool *is_reg) { - struct stat file_stat; - int ret; - - assert(is_reg != nullptr); - - ret = stat(fname.c_str(), &file_stat); - if (ret) { - return errno; - } - *is_reg = S_ISREG(file_stat.st_mode); - return 0; -} - #define RET_IF_NONZERO(X) { \ if (X) return X; \ } diff --git a/src/rocm_smi_kfd.cc b/src/rocm_smi_kfd.cc new file mode 100755 index 0000000000..a118b86f73 --- /dev/null +++ b/src/rocm_smi_kfd.cc @@ -0,0 +1,161 @@ +/* + * ============================================================================= + * The University of Illinois/NCSA + * Open Source License (NCSA) + * + * Copyright (c) 2019, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Developed by: + * + * AMD Research and AMD ROC Software Development + * + * Advanced Micro Devices, Inc. + * + * www.amd.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal with 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: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimers. + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimers in + * the documentation and/or other materials provided with the distribution. + * - Neither the names of , + * nor the names of its contributors may be used to endorse or promote + * products derived from this Software without specific prior written + * permission. + * + * 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 CONTRIBUTORS 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 WITH THE SOFTWARE. + * + */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "rocm_smi/rocm_smi_kfd.h" +#include "rocm_smi/rocm_smi.h" +#include "rocm_smi/rocm_smi_exception.h" +#include "rocm_smi/rocm_smi_utils.h" + +namespace amd { +namespace smi { + +static const char *kKFDProcPathRoot = "/sys/class/kfd/kfd/proc"; + +// Sysfs file names +static const char *kKFDPasidFName = "pasid"; + +static bool is_number(const std::string &s) { + return !s.empty() && std::all_of(s.begin(), s.end(), ::isdigit); +} + +int GetProcessInfo(rsmi_process_info_t *procs, uint32_t num_allocated, + uint32_t *num_procs_found) { + assert(num_procs_found != nullptr); + + *num_procs_found = 0; + errno = 0; + auto proc_dir = opendir(kKFDProcPathRoot); + + if (proc_dir == nullptr) { + perror("Unable to open process directory"); + return errno; + } + auto dentry = readdir(proc_dir); + + std::string prod_id_str; + std::string tmp; + + while (dentry != nullptr) { + if (dentry->d_name[0] == '.') { + dentry = readdir(proc_dir); + continue; + } + + prod_id_str = dentry->d_name; + assert(is_number(prod_id_str) && "Unexpected file name in kfd/proc dir"); + if (!is_number(prod_id_str)) { + continue; + } + if (procs && *num_procs_found < num_allocated) { + int err; + std::string tmp; + + procs[*num_procs_found].process_id = std::stoi(prod_id_str); + + std::string pasid_str_path = kKFDProcPathRoot; + pasid_str_path += "/"; + pasid_str_path += prod_id_str; + pasid_str_path += "/"; + pasid_str_path += kKFDPasidFName; + + err = ReadSysfsStr(pasid_str_path, &tmp); + if (err) { + return err; + } + assert(is_number(tmp) && "Unexpected value in pasid file"); + procs[*num_procs_found].pasid = std::stoi(tmp); + } + ++(*num_procs_found); + + dentry = readdir(proc_dir); + } + + errno = 0; + if (closedir(proc_dir)) { + return errno; + } + return 0; +} + +int GetProcessInfoForPID(uint32_t pid, rsmi_process_info_t *proc) { + assert(proc != nullptr); + int err; + std::string tmp; + + std::string proc_str_path = kKFDProcPathRoot; + proc_str_path += "/"; + proc_str_path += std::to_string(pid); + + if (!FileExists(proc_str_path.c_str())) { + return ESRCH; + } + proc->process_id = pid; + + std::string pasid_str_path = proc_str_path; + pasid_str_path += "/"; + pasid_str_path += kKFDPasidFName; + + err = ReadSysfsStr(pasid_str_path, &tmp); + if (err) { + return err; + } + assert(is_number(tmp) && "Unexpected value in pasid file"); + proc->pasid = std::stoi(tmp); + + return 0; +} + +} // namespace smi +} // namespace amd diff --git a/src/rocm_smi_main.cc b/src/rocm_smi_main.cc index f07871c1ae..39ef5c1dce 100755 --- a/src/rocm_smi_main.cc +++ b/src/rocm_smi_main.cc @@ -39,7 +39,6 @@ * DEALINGS WITH THE SOFTWARE. * */ -#include #include #include #include @@ -61,6 +60,7 @@ #include "rocm_smi/rocm_smi_device.h" #include "rocm_smi/rocm_smi_main.h" #include "rocm_smi/rocm_smi_exception.h" +#include "rocm_smi/rocm_smi_utils.h" static const char *kPathDRMRoot = "/sys/class/drm"; static const char *kPathHWMonRoot = "/sys/class/hwmon"; @@ -73,10 +73,6 @@ static const char *kAMDMonitorTypes[] = {"radeon", "amdgpu", ""}; namespace amd { namespace smi { -static bool FileExists(char const *filename) { - struct stat buf; - return (stat(filename, &buf) == 0); -} static uint32_t GetDeviceIndex(const std::string s) { std::string t = s; @@ -86,33 +82,6 @@ static uint32_t GetDeviceIndex(const std::string s) { return stoi(t); } -// Return 0 if same file, 1 if not, and -1 for error -static int SameFile(const std::string fileA, const std::string fileB) { - struct stat aStat; - struct stat bStat; - int ret; - - ret = stat(fileA.c_str(), &aStat); - if (ret) { - return -1; - } - - ret = stat(fileB.c_str(), &bStat); - if (ret) { - return -1; - } - - if (aStat.st_dev != bStat.st_dev) { - return 1; - } - - if (aStat.st_ino != bStat.st_ino) { - return 1; - } - - return 0; -} - static int SameDevice(const std::string fileA, const std::string fileB) { return SameFile(fileA + "/device", fileB + "/device"); } diff --git a/src/rocm_smi_utils.cc b/src/rocm_smi_utils.cc index a069dfd822..6a150faf33 100755 --- a/src/rocm_smi_utils.cc +++ b/src/rocm_smi_utils.cc @@ -42,6 +42,7 @@ */ #include #include +#include #include #include @@ -53,6 +54,52 @@ namespace amd { namespace smi { +// Return 0 if same file, 1 if not, and -1 for error +int SameFile(const std::string fileA, const std::string fileB) { + struct stat aStat; + struct stat bStat; + int ret; + + ret = stat(fileA.c_str(), &aStat); + if (ret) { + return -1; + } + + ret = stat(fileB.c_str(), &bStat); + if (ret) { + return -1; + } + + if (aStat.st_dev != bStat.st_dev) { + return 1; + } + + if (aStat.st_ino != bStat.st_ino) { + return 1; + } + + return 0; +} + +bool FileExists(char const *filename) { + struct stat buf; + return (stat(filename, &buf) == 0); +} + +int isRegularFile(std::string fname, bool *is_reg) { + struct stat file_stat; + int ret; + + assert(is_reg != nullptr); + + ret = stat(fname.c_str(), &file_stat); + if (ret) { + return errno; + } + *is_reg = S_ISREG(file_stat.st_mode); + return 0; +} + int WriteSysfsStr(std::string path, std::string val) { std::ofstream fs; int ret = 0; diff --git a/tests/rocm_smi_test/functional/mem_util_read.cc b/tests/rocm_smi_test/functional/mem_util_read.cc index 1c2966fdd1..6c076c52c5 100755 --- a/tests/rocm_smi_test/functional/mem_util_read.cc +++ b/tests/rocm_smi_test/functional/mem_util_read.cc @@ -94,7 +94,6 @@ void TestMemUtilRead::Run(void) { rsmi_status_t err; uint64_t total; uint64_t usage; - uint32_t mem_busy_percent; TestBase::Run(); diff --git a/tests/rocm_smi_test/functional/process_info_read.cc b/tests/rocm_smi_test/functional/process_info_read.cc new file mode 100755 index 0000000000..382e1bac8b --- /dev/null +++ b/tests/rocm_smi_test/functional/process_info_read.cc @@ -0,0 +1,181 @@ +/* + * ============================================================================= + * ROC Runtime Conformance Release License + * ============================================================================= + * The University of Illinois/NCSA + * Open Source License (NCSA) + * + * Copyright (c) 2019, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Developed by: + * + * AMD Research and AMD ROC Software Development + * + * Advanced Micro Devices, Inc. + * + * www.amd.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal with 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: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimers. + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimers in + * the documentation and/or other materials provided with the distribution. + * - Neither the names of , + * nor the names of its contributors may be used to endorse or promote + * products derived from this Software without specific prior written + * permission. + * + * 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 CONTRIBUTORS 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 WITH THE SOFTWARE. + * + */ + +#include +#include + +#include +#include + +#include "gtest/gtest.h" +#include "rocm_smi/rocm_smi.h" +#include "rocm_smi_test/functional/process_info_read.h" +#include "rocm_smi_test/test_common.h" + +TestProcInfoRead::TestProcInfoRead() : TestBase() { + set_title("RSMI Process Info Read Test"); + set_description("This test verifies that process information such as the " + "process ID, PASID, etc. can be read properly."); +} + +TestProcInfoRead::~TestProcInfoRead(void) { +} + +void TestProcInfoRead::SetUp(void) { + TestBase::SetUp(); + + return; +} + +void TestProcInfoRead::DisplayTestInfo(void) { + TestBase::DisplayTestInfo(); +} + +void TestProcInfoRead::DisplayResults(void) const { + TestBase::DisplayResults(); + return; +} + +void TestProcInfoRead::Close() { + // This will close handles opened within rsmitst utility calls and call + // rsmi_shut_down(), so it should be done after other hsa cleanup + TestBase::Close(); +} + +static void dumpProcess(rsmi_process_info_t *p) { + assert(p != nullptr); + std::cout << "ProcessID: " << p->process_id << " "; + std::cout << "PASID: " << p->pasid << " "; + std::cout << std::endl; +} +void TestProcInfoRead::Run(void) { + rsmi_status_t err; + uint32_t num_proc_found; + uint32_t val_ui32; + rsmi_process_info_t *procs = nullptr; + + TestBase::Run(); + + err = rsmi_compute_process_info_get(nullptr, &num_proc_found); + if (err != RSMI_STATUS_SUCCESS) { + if (err == RSMI_STATUS_FILE_ERROR) { + IF_VERB(STANDARD) { + std::cout << "\t**Process info. read: Not supported on this machine" + << std::endl; + return; + } + } else { + CHK_ERR_ASRT(err) + } + } else { + IF_VERB(STANDARD) { + std::cout << "\t** " << std::dec << num_proc_found << + " GPU processes found" << std::endl; + } + } + + if (num_proc_found == 0) { + return; + } + procs = new rsmi_process_info_t[num_proc_found]; + + val_ui32 = num_proc_found; + err = rsmi_compute_process_info_get(procs, &val_ui32); + if (err != RSMI_STATUS_SUCCESS) { + if (err == RSMI_STATUS_INSUFFICIENT_SIZE) { + IF_VERB(STANDARD) { + std::cout << "\t** " << val_ui32 << + " processes were read, but more became available that were unread." + << std::endl; + for (uint32_t i = 0; i < val_ui32; ++i) { + dumpProcess(&procs[i]); + } + + return; + } + } else { + CHK_ERR_ASRT(err) + } + } else { + IF_VERB(STANDARD) { + std::cout << "\t** Processes currently using GPU: " << std::endl; + for (uint32_t i = 0; i < val_ui32; ++i) { + dumpProcess(&procs[i]); + } + } + } + + // Reset to the number we actually read + num_proc_found = val_ui32; + if (num_proc_found) { + rsmi_process_info_t proc_info; + + err = rsmi_compute_process_info_by_pid_get(procs[0].process_id, + &proc_info); + if (err == RSMI_STATUS_NOT_FOUND) { + std::cout << + "\t** WARNING: rsmi_compute_process_info_get() found process " << + procs[0].process_id << ", but subsequently, " + "rsmi_compute_process_info_by_pid_get() did not" + " find this same process." << std::endl; + } else { + CHK_ERR_ASRT(err) + ASSERT_EQ(proc_info.process_id, procs[0].process_id); + ASSERT_EQ(proc_info.pasid, procs[0].pasid); + } + } + if (num_proc_found > 1) { + rsmi_process_info_t tmp_proc; + val_ui32 = 1; + err = rsmi_compute_process_info_get(&tmp_proc, &val_ui32); + + if (err != RSMI_STATUS_INSUFFICIENT_SIZE) { + std::cout << "Expected rsmi_compute_process_info_get() to tell us" + " there are more processes available, but instead go return code " << + err << std::endl; + } + } + delete []procs; +} diff --git a/tests/rocm_smi_test/functional/process_info_read.h b/tests/rocm_smi_test/functional/process_info_read.h new file mode 100755 index 0000000000..9640fa5cd0 --- /dev/null +++ b/tests/rocm_smi_test/functional/process_info_read.h @@ -0,0 +1,73 @@ +/* + * ============================================================================= + * ROC Runtime Conformance Release License + * ============================================================================= + * The University of Illinois/NCSA + * Open Source License (NCSA) + * + * Copyright (c) 2019, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Developed by: + * + * AMD Research and AMD ROC Software Development + * + * Advanced Micro Devices, Inc. + * + * www.amd.com + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal with 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: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimers. + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimers in + * the documentation and/or other materials provided with the distribution. + * - Neither the names of , + * nor the names of its contributors may be used to endorse or promote + * products derived from this Software without specific prior written + * permission. + * + * 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 CONTRIBUTORS 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 WITH THE SOFTWARE. + * + */ +#ifndef TESTS_ROCM_SMI_TEST_FUNCTIONAL_PROCESS_INFO_READ_H_ +#define TESTS_ROCM_SMI_TEST_FUNCTIONAL_PROCESS_INFO_READ_H_ + +#include "rocm_smi_test/test_base.h" + +class TestProcInfoRead : public TestBase { + public: + TestProcInfoRead(); + + // @Brief: Destructor for test case of TestProcInfoRead + virtual ~TestProcInfoRead(); + + // @Brief: Setup the environment for measurement + virtual void SetUp(); + + // @Brief: Core measurement execution + virtual void Run(); + + // @Brief: Clean up and retrive the resource + virtual void Close(); + + // @Brief: Display results + virtual void DisplayResults() const; + + // @Brief: Display information about what this test does + virtual void DisplayTestInfo(void); +}; + +#endif // TESTS_ROCM_SMI_TEST_FUNCTIONAL_PROCESS_INFO_READ_H_ diff --git a/tests/rocm_smi_test/main.cc b/tests/rocm_smi_test/main.cc index ca7eacdecd..afce6643e7 100755 --- a/tests/rocm_smi_test/main.cc +++ b/tests/rocm_smi_test/main.cc @@ -72,7 +72,8 @@ #include "functional/err_cnt_read.h" #include "functional/mem_util_read.h" #include "functional/id_info_read.h" -#include "rocm_smi_test/functional/perf_cntr_read_write.h" +#include "functional/perf_cntr_read_write.h" +#include "functional/process_info_read.h" static RSMITstGlobals *sRSMIGlvalues = nullptr; @@ -199,10 +200,15 @@ TEST(rsmitstReadOnly, TestIdInfoRead) { TestIdInfoRead tst; RunGenericTest(&tst); } -TEST(rsmitstreadWrite, TestPerfCntrReadWrite) { +TEST(rsmitstReadWrite, TestPerfCntrReadWrite) { TestPerfCntrReadWrite tst; RunGenericTest(&tst); } +TEST(rsmitstReadOnly, TestProcInfoRead) { + TestProcInfoRead tst; + RunGenericTest(&tst); +} + int main(int argc, char** argv) { ::testing::InitGoogleTest(&argc, argv);