* Package release tarball on rocm tags and add a MAINTAINERS guide to outline release procedure
Signed-off-by: coleramos425 <colramos@amd.com>
* Apply linting feedback
Signed-off-by: coleramos425 <colramos@amd.com>
* Update links in MAINTAINERS for new branches
Signed-off-by: coleramos425 <colramos@amd.com>
* Update MAINTAINERS.md for changelog formatting
Signed-off-by: coleramos425 <colramos@amd.com>
* Update Omniperf ver checker to allow tags with rocm- prefix
Signed-off-by: coleramos425 <colramos@amd.com>
* Add step to packaging workflow to upload release tarball to release
Signed-off-by: coleramos425 <colramos@amd.com>
* Synax change for release name in packaging action
Signed-off-by: coleramos425 <colramos@amd.com>
* Update MAINTAINERS for instuctions on ROCm releases
Signed-off-by: coleramos425 <colramos@amd.com>
* Update softprops pluvin to v2 and remove release name
Removing the release name enables us to modify an existing release with the matching tag
Signed-off-by: coleramos425 <colramos@amd.com>
* Remove draft option on softprops plugin
Signed-off-by: coleramos425 <colramos@amd.com>
---------
Signed-off-by: coleramos425 <colramos@amd.com>
* Add the ability to determine GPU model from Chip ID for distinguishing MI300 systems by using a built-in dictionary.
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Add support for MI300X_A1
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Remove MI308X identification using num CUs, and format Python using black.
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Add Read the Docs
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Add sphinx requirement
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Remove gpu_model identification using gpu_arch
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Remove OMNIPERF_ARCH_OVERRIDE and its usage. Determining MI300 gpu model solely based on chip id.
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Fix Python formatting using black.
Signed-off-by: xuchen-amd <xuchen@amd.com>
---------
Signed-off-by: xuchen-amd <xuchen@amd.com>
After meeting with the DevOps team, I've added the Unreleased keyword to new CHANGELOG section per their request
Signed-off-by: coleramos425 <colramos@amd.com>
If we don't add the suffix omniperf to the install path then the subsequent instruction of module load omniperf will not work
Signed-off-by: coleramos425 <colramos@amd.com>
* Remove `dev` and `main` branch from workflows.
Update links in documentation.
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
* `amd-staging` -> `amd-mainline` in docs
Signed-off-by: Peter Jun Park <peter.park@amd.com>
---------
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Co-authored-by: Peter Jun Park <peter.park@amd.com>
* Check that the minimum required Python (3.8) version is used.
Prints a descriptive error message, rather than a cryptic import
failure, if minimum Python version is not met.
Internal ticket SWDEV-477233.
* Disable the RPM mangling of shebangs.
The are changing the `#!/usr/bin/python3` to `#!/usr/libexec/platform-python`.
With this set, omniperf is always using the platform installed version
of python, which is python 3.6 on RHEL 8. Using virtual environments,
like conda, did not work.
* Fix pylint issues
---------
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
Socket server accept calls do not guarantee synchronous actions
post-accept. This can result in a race condition.
To resolve this, first limit the socket server's listen backlog to a
single connection. This will force competing clients to busy-retry
until timeout.
Second, make the DMABUF IPC file descriptor send-receive and import
calls into an atomic routine per connection.
By doing these fixes, not only to we resolve potential races but
we guarantee that any exporter process will create at most one
file descriptor that will only last for the duration of the import
transaction. This alleviates any concern on running into system
limits for the number of open file descriptors per process.
Change-Id: I6d8b14795a680d89a2707e082fa027d525792e05
Discarding blocks for reallocation on IPC export for better memory
performance trigger memory violations with DMA BUF exports so bypass
this for now as application performance drops haven't been observed
with the bypass.
The raw fragment should be passed to the DMA Buf export call as well
since offsets will be implicitly applied in the Thunk/KFD for
export/import calls.
Also, use the agent information directly from the pointer
information so that the export call doesn't have to scan memory to find
this. Pass the node ID in the handle so that the import call doesn't
have to make two thunk imports to fetch the node ID for GPU memory
imports.
Finally, allow the user to use DMA Buf IPC via
HSA_ENABLE_IPC_MODE_LEGACY=0 for developer testing as legacy mode will
be applied by default.
Change-Id: Ie8fe267f8768fa5df37126078406f7065f69ff4e
Changes:
- Added new GPU metrics:
1) Violation status' (ex. PVIOL/TVIOL) accumulators
2) XCP (Graphics Compute Partitions) statistics
3) pcie other end recovery counter
- Added rocm-smi --showmetrics
Units/values reflect as indicated by driver, may differ
from AMD SMI or other ROCm SMI interfaces which
use these fields.
- N/A fields means the device does not support providing this
data.
Change-Id: Ia2cd3bb65c4f474ebdb39db8062ea716f2b4d8ee
Signed-off-by: Charis Poag <Charis.Poag@amd.com>
Fix some potentially unreleased memory, null value checks, files not
closed, and other such issues reported by codeql
Change-Id: Ia679aff97a773a642d8c8cbadeae30955554a62e
Signed-off-by: Kent Russell <kent.russell@amd.com>
* Add `amd-staging` and `amd-mainline` to workflow
* Update links in documentation to use amd-mainline
---------
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
In VM with 6vcpu, cpu schedule of
queue_delayed_work(system_freezable_wq) is lower than BM.
HSA_SMI_EVENT_QUEUE_RESTORE event from case HMMProfilingEvent/0 got
delayed execution and caused HMMProfilingEvent/1 fail.
The fix is only listen to HSA_SMI_EVENT_MIGRATE_START event and ignore
all other events.
Change-Id: I534e49b030bd4c534bc7a63eb431f4907659c8cd
* Package release tarball on rocm tags and add a MAINTAINERS guide to outline release procedure
Signed-off-by: coleramos425 <colramos@amd.com>
* Apply linting feedback
Signed-off-by: coleramos425 <colramos@amd.com>
* Update links in MAINTAINERS for new branches
Signed-off-by: coleramos425 <colramos@amd.com>
* Update MAINTAINERS.md for changelog formatting
Signed-off-by: coleramos425 <colramos@amd.com>
* Update Omniperf ver checker to allow tags with rocm- prefix
Signed-off-by: coleramos425 <colramos@amd.com>
* Add step to packaging workflow to upload release tarball to release
Signed-off-by: coleramos425 <colramos@amd.com>
* Synax change for release name in packaging action
Signed-off-by: coleramos425 <colramos@amd.com>
* Update MAINTAINERS for instuctions on ROCm releases
Signed-off-by: coleramos425 <colramos@amd.com>
* Update softprops pluvin to v2 and remove release name
Removing the release name enables us to modify an existing release with the matching tag
Signed-off-by: coleramos425 <colramos@amd.com>
* Remove draft option on softprops plugin
Signed-off-by: coleramos425 <colramos@amd.com>
---------
Signed-off-by: coleramos425 <colramos@amd.com>
* Add the ability to determine GPU model from Chip ID for distinguishing MI300 systems by using a built-in dictionary.
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Add support for MI300X_A1
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Remove MI308X identification using num CUs, and format Python using black.
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Add Read the Docs
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Add sphinx requirement
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Remove gpu_model identification using gpu_arch
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Remove OMNIPERF_ARCH_OVERRIDE and its usage. Determining MI300 gpu model solely based on chip id.
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Fix Python formatting using black.
Signed-off-by: xuchen-amd <xuchen@amd.com>
---------
Signed-off-by: xuchen-amd <xuchen@amd.com>
After meeting with the DevOps team, I've added the Unreleased keyword to new CHANGELOG section per their request
Signed-off-by: coleramos425 <colramos@amd.com>
If we don't add the suffix omniperf to the install path then the subsequent instruction of module load omniperf will not work
Signed-off-by: coleramos425 <colramos@amd.com>
* Remove `dev` and `main` branch from workflows.
Update links in documentation.
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
* `amd-staging` -> `amd-mainline` in docs
Signed-off-by: Peter Jun Park <peter.park@amd.com>
---------
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Co-authored-by: Peter Jun Park <peter.park@amd.com>
* Check that the minimum required Python (3.8) version is used.
Prints a descriptive error message, rather than a cryptic import
failure, if minimum Python version is not met.
Internal ticket SWDEV-477233.
* Disable the RPM mangling of shebangs.
The are changing the `#!/usr/bin/python3` to `#!/usr/libexec/platform-python`.
With this set, omniperf is always using the platform installed version
of python, which is python 3.6 on RHEL 8. Using virtual environments,
like conda, did not work.
* Fix pylint issues
---------
Signed-off-by: David Galiffi <David.Galiffi@amd.com>