Wykres commitów

99 Commity

Autor SHA1 Wiadomość Data
Sam Wu e68143cfb2 Add ReadtheDocs configuration 2024-06-03 16:19:50 +00:00
shwetagkhatri 08f844a1d9 Create CODEOWNERS file 2024-06-03 16:19:50 +00:00
abhimeda 4bcedb59c0 added rocm v6, MI300, default component 2024-06-03 16:19:50 +00:00
abhimeda 0e90773c26 Add files via upload 2024-06-03 16:19:50 +00:00
abhimeda 912464bd96 Create config.yml 2024-06-03 16:19:50 +00:00
abhimeda 123fdf8171 Delete .github directory 2024-06-03 16:19:50 +00:00
abhimeda 84928a3158 Create config.yml 2024-06-03 16:19:50 +00:00
Jiadong Zhu d1efacb47f Do not print to console for which command
The command which would print warnings on some
platform. Redirect both stdout and stderr to
/dev/null while running the command.

Signed-off-by: Jiadong Zhu <Jiadong.Zhu@amd.com>
Change-Id: Ibc377681a31a14a3e306ab4fcb14d8d0c853fa86
2024-05-22 09:43:21 -04:00
amd-jmacaran 29dfe7d0fc Support multiple External CI pipelines of same component.
Specifying root-level pipelines for triggers, to allow engineering or specific-release pipelines to be made for the components/repos with the same name.

Change-Id: I10f55ea490e61251a0c959e5e0ba2faba3d690fb
2024-05-21 11:38:55 -04:00
Ranjith Ramakrishnan 1f4752295e SWDEV-451078 - Update rocminfo package dependency list
python3, glibc, libgcc/libgcc_s1, libstdc++/libstdc++6 added to the RPM package dependency list
python3, libc6, libgcc-s1, libstdc++6 added to the DEB package dependency list

Change-Id: I4843b1431c0d0edf1b0df1e12c82adb4ff53c8cd
2024-05-13 15:40:26 -07:00
Ranjith Ramakrishnan 5e4f64e786 SWDEV-442738 - Static package generation for rocminfo
Package name will have suffix static-dev/devel
rocminfo static package will depend on hsa static package

Change-Id: I3e72b19403c10e74199067f2c725ed4a007ab150
2024-05-13 13:50:54 -04:00
Jiadong Zhu 049ab55393 Add WSL support for rocminfo
This includes detecting the running environment,
skipping kfd dependency check if in wsl platform
and disabling unavailable information on wsl.

V2: Use wslinfo to detect the environment.
V3: Add back some queries for wsl, as the not_supported
value shall be returned from hsa_runtime.

Signed-off-by: Jiadong Zhu <Jiadong.Zhu@amd.com>
Suggested-by: Tianci Yin <tianci.yin@amd.com>
Change-Id: I686d551c795cb5c5532591623022856f59512205
2024-05-09 14:37:15 +08:00
amd-jmacaran 75803689d1 Change token name to match IT-created token
Change-Id: Ie08eb15af669d4247c611c122ca0a77eb365f6dd
2024-04-25 03:57:02 -04:00
amd-jmacaran 9a91005354 Add support for external CI builds using Azure Pipelines
Change-Id: I7658fbc8c52bef551dae8c13413825507a0d8c0a
2024-04-24 15:25:10 -04:00
David Yat Sin 7e159e6d76 Add query for memory properties
Change-Id: I07c084c56b15c499ec564860b2a514e909ab7ca4
2024-02-13 14:28:30 -05:00
Shweta Khatri e1716642ff Use raw strings for regular expression
Makes all re.compile function calls use raw string to prevent Syntax warning in future, if backslash escape characters are used in regular expressions

https: //github.com/ROCm/rocminfo/pull/66
Suggested-by: Author: Yiyang Wu <xgreenlandforwyy@gmail.com

Change-Id: I6c7aaf016c588bb2ae5a0f979da7d423a78d6ec3
2024-01-18 10:28:58 -05:00
David Yat Sin 17de0f9097 Set -m64 flag only on x86-64 hosts
-m64 only applies to x86-64, it's more reasonable to enable it only on x86_64 host.
It fixes build on some other platforms as well.

Provided by user r-value on github

https: //github.com/RadeonOpenCompute/rocminfo/pull/63
Change-Id: I9c1c40d3fa39b0a61d28041fe4998b5e1ad0cdcd
2024-01-09 09:49:04 -05:00
David Yat Sin 7b59f24005 Add query for HSA Ext interface version
Change-Id: Ibfac8c23b173793f7302f926c4695a1f99b328fe
2024-01-04 19:53:02 +00:00
Shweta Khatri 429baf04fb Fix invalid escape sequence in rocm_agent_enumerator, which are deprecated in Python3
In Python3, unescaped backslashes in regular expressions are deprecated, and these were generating SyntaxWarnings.

Patch submitted by (Tianao Ge <getianao@gmail.com>) on github:
https://github.com/ROCm/rocminfo/pull/55

Change-Id: Icbcf2803291add5b5f3971ac9901a8927d23f225
2024-01-04 19:52:59 +00:00
Ranjith Ramakrishnan c9905a8ba1 Correct the permission of rocminfo and rocm_agent_enumerator
Both will have a permission of 755

Change-Id: I428c6419358a578595969b4bf0918e6384180dbc
2023-12-17 20:55:42 -08:00
Gregory Rodgers b249107c6a Print amdgpu version
Change-Id: Ibab6e51489d436b66c3bac4bbd0f52a400ad6b0b
2023-10-03 18:48:47 +00:00
David Yat Sin f1f463d818 Add recommended granule query
Change-Id: I7eb10e267d0272759321ee30feddf2d6464d9443
2023-08-25 01:04:34 +00:00
David Yat Sin 3670ff2103 Add support for HSA_OVERRIDE_GFX_VERSION env var
Change-Id: Iab75cbbba7da654dbf56f4206900d9c2ff5e4565
2023-08-24 18:43:30 +00:00
David Yat Sin 23c483ca65 Adding coherent host access query
Change-Id: I34030ab193b5e7890cf10c6a0c6ad493ac0e0283
2023-08-14 20:21:23 +00:00
David Yat Sin 3f97bbda93 Support extended scope fine-grained memory
Add display flag for extended scope fine-grained memory

Change-Id: I73f965e12a7a68afcd71f93a7b6a1af453de0510
2023-07-20 22:30:16 +00:00
Mark Searles c8db38ede2 Removing __linux__ definition in CMake
Removing this definition as this should already be defined by compiler.
This is causing compile errors on newer versions of llvm because the
macro is being redefined.

Change-Id: I3bf03617970d4b76dabce36ed980523673afadc5
2023-06-02 16:39:42 -07:00
David Yat Sin 2d34dc31f2 Add query to check DMABuf support
Add query to check whether DMAbuf export is supported on this system

Change-Id: I28caa87b67135d67ffcc94695e4656e7b691d259
2023-05-29 17:38:10 +00:00
David Yat Sin eb1283f377 Add query for mwaitx support
Change-Id: I775234ff570e3cedacd68adb4617e62dce76bd9e
2023-03-28 12:11:55 -04:00
Mark Searles 34cc693bef Fix parsing of rocminfo output for ISAs with no features defined
Patch is an internal port of
 https://github.com/RadeonOpenCompute/rocminfo/pull/59

Change-Id: Iea84f49a60abce73716a7451960c20ee0d2b7bca
2023-03-27 08:56:00 -07:00
David Yat Sin 2c92e790f0 Add display for IOMMU Support
Change-Id: I5af127ef1f9c1ae4b3b86b9e38272eb4f032191a
2023-01-20 02:56:45 +00:00
David Yat Sin c6b1707d0e Add fields for CP firmware and SDMA engine ucode
Change-Id: I796b5a1c1e8be7fedda6207bcb740e3956aef8b2
2023-01-05 23:42:03 +00:00
Johannes Dieterich 94b4b3f0a6 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
2022-11-21 18:11:31 +00:00
Mike Li 3a4d533a1e Check permission and handle PermissionError exception
Signed-off-by: Mike Li <Tianxinmike.Li@amd.com>
Change-Id: If7cb8464d0b761e4be45c85eb7147ceed609da61
2022-08-17 12:23:30 -04:00
David Salinas d8f236cd81 Handle case with no GPUs
Change-Id: I35b8d4d0c0b6e63d9851d56163686794c7bb8c1e
2022-06-17 14:40:44 -04:00
Ranjith Ramakrishnan 0b270afafc SWDEV-321112: Use GNUInstallDir variable DOCDIR
Replaced install path 'share/doc/project_name' with gnuinstalldir variable CMAKE_INSTALL_DOCDIR

Change-Id: Id9fc7599e6893a604f9d965b952ab27413e1c0d6
2022-05-24 23:29:54 -07:00
Sean Keely 4f1b5ed4b8 Correct include paths for new directory layout.
Depends-On: I5e11e72848633dcc749d1e92705a8e3be67f793d
Change-Id: If743d015bb9c7c6fb179e259e2d4eb69be60e383
2022-05-06 01:15:21 -04:00
Mike Li b6dc27f0b3 Add ASIC revision
Signed-off-by: Mike Li <Tianxinmike.Li@amd.com>
Change-Id: I8f6bbf39e4cf85bb03fd6c0de7afe5f9e6666ba5
2022-03-16 00:51:33 -05:00
Shweta Khatri cf92f649ab Fixed some errors in rocminfo reported by lint tool
Change-Id: Ie7852c2003c10847226a5df23c4e85fbe89dad43
2022-02-16 17:05:21 -05:00
Ashutosh Mishra 6b4d69d011 changeing major_ver of targetlist to decimal
Change-Id: Iada6cf9d2ba3bce4c042dffbf97f1588ffe10a8a
2022-02-03 23:38:24 +05:30
Nirmal Unnikrishnan 31e6575e9f Adding license file to rocminfo package
Change-Id: Ibc3b53922c366944a404982ed977ede50c6f36c7
2022-01-15 06:32:38 -06:00
Sean Keely b83efe00a4 Update README.
Document use of sysfs for gfx arch lookup.

Change-Id: Ic326769be3e23d627e16fb1aae56c0d16ce99d78
2021-10-29 20:24:11 -05:00
Sean Keely 7766360dd6 Close /dev/kfd after access check.
Cleanup dangling file handle.

Change-Id: I37bc42a2ffb7122f441cbf8a09c141d4396db928
2021-10-29 20:23:32 -05:00
Sean Keely b57c02d131 Handle high levels of concurrency in rocm_agent_enumerator.
rocm_agent_enumerator may invoke rocminfo.  Rocminfo opens the
GPU device which allocates limited resource.  Beyond 254
concurrent processes this resource will be exhausted and rocminfo
will return an error.

This patch loops rocm_agent_enumerator when recieving a failure
message from rocminfo indicating KFD is out of memory.

Change-Id: I8637e214f5fa012642975c28578ae6bf9200eda8
2021-10-29 20:22:19 -05:00
Joseph Greathouse f419b81bdf Add capability to pull gfx architecture from KFD topology
New versions of amdkfd include the gfx architecture version number
for all GPUs surfaced in the HSA topology. This patch adds this as
the preferred way for rocm_agent_enumerator to check for supported
gfx architecture numbers.

Kernels that are missing this feature will not have the value in
the topology. rocm_agent_enumerator will fall back to checking
against the PCI IDs in this case. If PCI IDs fail, we fall back
to the heavyweight rocminfo method.

Change-Id: I5cf22e1069114675092e97ae52331b829cfafb04
2021-10-29 20:20:04 -05:00
Joseph Greathouse e9b7de43be Switch order of lspci and rocminfo for gfx arch query
rocminfo is a very heavyweight mechanism for learning a lot of
information about the GPUs that are attached to the system.
It opens up the limited /dev/kfd resource to gather lots of
information about each device, while rocm_agent_enumerator really
only wants the gfx number of AMD devices attached to the system.

To avoid this heavyweight lookup in most cases, this patch switches
the order of tests. Rather than starting with rocminfo and then
falling back to a poorly-maintained PCI ID list, this patch changes
the agent enumerator to start by checking in the PCI ID list (fast
case) and then falling back to rocminfo (slow case) if the PCI ID
list is out of date.

Change-Id: If24b8bc3baeeb6adad362abbb288ef3728383bce
2021-10-29 20:16:22 -05:00
Joseph Greathouse 0e1807c72d Update cmake to include pciutils dependencies
When building packages, add in pciutils as a dependency because
rocm_agent_enumerator uses this as a mechanism for looking up
what GPUs exist on the system.

Change-Id: I10ac088c461c6d0bca435b61fbc90b685556fdf4
2021-10-29 18:45:32 -05:00
Joseph Greathouse ea5ce46fb4 Add better PCI ID backup in rocm_agent_enumerator
The PCI ID backup method in rocm_agent_enumerator, where the
tool uses lspci to find all AMD GPU devices in the system and
manaully match them to gfx version, is extremely outdated. The
PCI ID list did not include anything after Vega 10, and the
actual call to lspci no longer returned anything due to some
missing conversions.

The patch adds all GPUs that might be needed by ROCr up through
Navy Flounder. The PCI ID to gfx matching pulls from the amdgpu
driver and libhsakmt.

Change-Id: I58b77bb6aa631f575352fc444d2542f265909706
2021-10-29 18:45:23 -05:00
Sean Keely 2b4b0c8862 Add dependency on kmod.
rocminfo uses lsmod to check for loaded drivers.  Use of sysfs is
possible but sysfs' stable interface does not allow for easy parsing.
Use of lsmod avoids needing to walk the sysfs tree and avoids issues
of permissions to examine sysfs.

Both Debian and Fedora list lsmod under kmod.  Presumption is that
CentOS and RHEL also follow this.

Change-Id: Ic5033e0b780100c54d2fe0b4f501c40acbc237fb
2021-10-29 16:23:01 -05:00
Sean Keely 86560046de Correct and simplify package dependencies.
Package should depend on hsa-rocr, not hsa-rocr-dev.  Also
Remove negative path for dependency rocm-core (unconditional add +
conditional remove simplified to conditional add).

Change-Id: I6ead202f4f3f2f77b1da2ffed77feee956caf2e9
2021-10-29 16:23:01 -05:00
Sean Keely e32a4d9bed Don't touch CMAKE_CXX_FLAGS.
Cmake manages CMAKE_CXX_FLAGS in standard ways from user inputs,
env vars, and target properties.  Use target properties for our
options and let cmake handle the rest.

Change-Id: I20ef738e4df7880258d770f4ec13c09d8b323fba
2021-10-29 16:23:01 -05:00