Sync between compute and SDMA engines can be very expensive under Windows.
Use CP DMA for tiny transfers (< 1KiB) to avoid syncs and improve performance.
Change-Id: I9db39a2199f7b9e337ed08fd36d9cbc150502f1f
[ROCm/clr commit: 473621c008]
KMD can enable hipHostRegister optimization with HMM path.
That will make CPU and GPU pointers matching.
Change-Id: Iad96ceada5cfa3bada20452b906f744f9dbaebbe
[ROCm/clr commit: 55d085ca8c]
The profiler can retrieve this correlation ID to attribute waves to
specific dispatch locations.
Change-Id: I700e8a91219d612f6a2028c0dda0c92753f3526a
[ROCm/clr commit: b043b4f5a2]
Support performance counter on gfx11 in Windows only
as Rocm doesn't support performance counter on gfx11 in Linux.
Change-Id: I2216f72f4d4db6dd3766343b0c821cb3d35d7852
[ROCm/clr commit: 6f43b210d7]
Fix crash in hipGraphKernelNodeSetParams where paremeters
are taken from hipGraphKernelNodeGetParams.
Change-Id: I2216f72f4d4de6dd3766343b0d821cb3d35d7853
[ROCm/clr commit: 0c4307f86e]
HIP can't rely on the resource tracking, used in OCL and requires different explicit sync.
Make sure ROCCLR syncs compute only when SDMA is used and vise versa.
The new logic will allow to enable CPDMA without unnecessary waits.
Change-Id: Ib9d1788cfd5afa5ea2fec4c96a37d8b9c4d0059d
[ROCm/clr commit: ff6b4db70b]
Blender creates and destroys big allocations during the benchmark.
That causes big delays, because vidmm has to page-in/page-out memory.
Change-Id: I2baf4545807127406e3d2870a7581ff9ae7bcdb5
[ROCm/clr commit: dc4ad8c99c]
With opaque pointers, the suffix of those intrinsics changed. This caused
build failures that should be solved by just using the corresponding
Clang builtins instead of using intrinsics directly
See SWDEV-356581
Change-Id: Icd1d9b9438cac4bef0f7c52d4cd341ac76500890
[ROCm/clr commit: dcb5d29f1e]
Remove extra barrier, since ROCR backend in DD mode blocks HW queue now when a callback is injected
Add a notificaiton for MT mode about possible waiter for a callback
Change-Id: Ifd70ce5597e1ba868e4197ad1850ace11a4f90ae
[ROCm/clr commit: 413cc757af]
When printing HIP API function parameters, use the integer format to
print 'char' arguments to avoid printing invalid ASCII characters
(value > 127).
Make sure the roctracer::hip_support::detail operator<< overloads are
used when printing arguments.
Change-Id: Id072c2ed19b1b4166108599e393d1cae6c54b6b0
[ROCm/clr commit: 19107858d6]
- Make sure SQQT trace is captured for RGP server if the queue is destroyed before normal capture is done.
- Remove prepare queue from the logic. It's not really used for any HW capture and can cause RGP server abort if destroyed before capture is even started(delayed capture)
Change-Id: I6eb19963190a5769c6477a5496c1b831a6d59b89
[ROCm/clr commit: c1c5127875]
In X86 on Windows, sizeof(size_t)=4, but size=8, for
amd::KernelParameterDescriptor::HiddenGlobalOffsetX/Y/Z items.
Loose the condition to prevent crash.
Change-Id: I2216f71f4d4fd6dd3766023b1c821cb3d35d7848
[ROCm/clr commit: 3d281114fb]
The ROCclr assigns zero-based IDs to GPUs in the order they are
discovered. That zero-based ID is what is used to identify the GPU
on which the HIP_OPS activity took place.
When multiple ranks are used, each rank's first logical device always
has GPU ID 0, regardless of which physical device is selected with
CUDA_VISIBLE_DEVICES. Because of this, when merging trace files from
multiple ranks, GPU IDs from different processes may overlap.
The long term solution is to use the KFD's gpu_id which is stable
across APIs and processes. Unfortunately the gpu_id is not yet exposed
by the ROCr, so for now use the driver's node id.
Change-Id: Ib78854527d600d175bb76e2df0747c33f898c615
[ROCm/clr commit: 9a82118c85]
So ocltst can automatically find liboclruntime.so from the same directory as ocltst.
Change-Id: Id2f4f58b1c7f0304be76a3aeecd5eea2eec328de
[ROCm/clr commit: cbbf0d1edd]
The explicit RUNPATH addtion has been
revoked after the file reorg. Hence
the rpath for discovery of the libs
has to be taken care by individual binaries
Current patch adds the run path for
descovery of the libOpenCL.so
Signed-off-by: Ashutosh Mishra <ashutosh.mishra@amd.com>
Change-Id: Ia3bf9202bea78ecfdb881e40b0eb7a0d4a303ed3
[ROCm/clr commit: 1754b043a3]
With file reorganization changes HIP is installed in /opt/rocm-ver
Using HIP path as /opt/rocm-ver/hip will generate warnings
Use real path with symlinks resolved, so that HIP path always points to the installed path
Removed redundant code for finding hsa header files. find_dependency to hsa-runtime should handle hsa dependency
Change-Id: Iccea3c1c7297c705244bf752f38fbff71929d64c
[ROCm/clr commit: f3394cf7a5]