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>
When amdgpu is built into the kernel, /sys/module/amdgpu/initstate will not be created even when the driver is functional. However, test shows /sys/module/amdgpu will be present. Adding an additional check for /sys/module/amdgpu when /sys/module/amdgpu/instate is not present.
Change-Id: Ie5c67c7e1eff8ac1683b211aaec802d0d342aeeb
Update commentary on HWS scheduler support bit for GPU debugging in
the HSA capabilities node properties field.
Change-Id: I59c519d74a528d5ecf5817ef94e75091314bd844
Fix data race by protecting events_page access with mutex in event create
Fix potential NULL dereference in hsaKmtWaitOnMultipleEvents_Ext
Fix unchecked return value in hsaKmtCreateEvent function
Change-Id: I434bef43666e5205a8b061259569c1d99a952752
We had skipped doing it for PAGE_SIZE, but it should be left as the
regular PAGE_SHIFT name, especially for users who are using different
headers. We want PAGE_SHIFT and PAGE_SIZE to be consistent with one
another, so set them both explicitly to the same value if either
of them is undefined
Change-Id: I121d81c48409dd77351b59a192d824e2419a2410
Signed-off-by: Kent Russell <kent.russell@amd.com>
- This fix addresses SWDEV-456049 and probably SWDEV-442181 which
have the same apparent root cause of an early exiting
loop while enumerating GPU stats
Change-Id: I517329e06fa2c53205d8b6e002895e648ebf521c
When an entry is deleted from the array, it's set to nullptr
but not removed. Most other functions that
iterate over the array check if the entry is nullptr
but this loop in IterateExecutables did not.
Change-Id: I763b361eea59f6df201bb86ead0234e95f2cf79c
Return false if trying to free a NULL pointer (or invalid size)
internally in ROCr. This is to detect errors within ROCr when trying
to free NULL pointers. If a user of ROCr tries to free a NULL
pointer, this condition should be caught at the beginning of the
Runtime::FreeMemory(...) function and return HSA_STATUS_SUCCESS. This
matches the behavior of the free(...) or delete functions that
silently ignores calls when the passed a NULL pointer.
Change-Id: I84bc26928b35023e19cd9f214b42c6ee9508029c
Individual simple tests such as CPUAccessToGPUMemoryTest are taking
several hours on emulators as the total amount of VRAM keeps increasing.
Limit the pool sizes to 2GB, only on emulator.
Change-Id: I4b33e8549f89413da255731e6748f606ca64a663
Adds support for AllocateMemoryOnly inside XDNA driver.
Move the IsLocalMemory() check inside the KFD driver
since the XDNA driver can, and needs to, create handles
on system memory buffer objects.
Changed handle variable name from thunk_handle to user_mode_driver_handle,
which is more representative if we support non-GPU drivers.
Change-Id: I95db9d575afd1ab0ff2de74cea5175d9a12a721b
If BUILD_SHARED_LIBS doesn't get set at all, other projects importing
hsakmt may have an inconsistent state regarding SHARED vs STATIC.
Instead of setting the option and setting it as an option(), just detect
the variable and use it
Change-Id: I9d5a5fc6049ca5351f5e7c63d38ee9bfcb89bdad
Signed-off-by: Kent Russell <kent.russell@amd.com>
The fmm_node_[added|removed] functions were added in the initial FMM
support, but weren't used. Remove them now since no one's referencing
them
Change-Id: I1e46e57294a72012227b38f46c7099de0b9263be
Signed-off-by: Kent Russell <kent.russell@amd.com>