Commit Graph

5424 Commits

Author SHA1 Message Date
Jayaprakash, Karthik 12131de4a9 SWDEV-529929 - hipMemGetHandleForAddressRange implementation. (#245) 2025-05-20 15:56:04 -04:00
Jayaprakash, Karthik bed454caa1 SWDEV-457749 - Use size of handle for range instead of actual size for physmem. (#342) 2025-05-20 15:24:49 -04:00
Kudchadker, Saleel 1b0ea080e4 SWDEV-523279 - Use preferred engine mask for SDMA (#317)
- ROCr now reports preferred engine for copy status. We can leverage
this for max bandwidth for inter-GPU copies
- Cleanup logging
2025-05-19 16:04:51 -07:00
Kudchadker, Saleel 5712944c7c SWDEV-531518 - Fix offset accumulation (#333)
srcAddress/dstAddress accumulation was cumulative, which shouldnt be
done if we increment offset.
2025-05-19 18:03:06 +05:30
Jayaprakash, Karthik bb7750a946 Revert "SWDEV-522707 - Set phys_mem_handle type to sizeof(size_t) to avoid blocking address range. (#105)" (#348)
This reverts commit 6811fd90b8.
2025-05-19 15:19:16 +05:30
Jayaprakash, Karthik f5b8db33f1 SWDEV-531711 - Report correct error code based on device failure. (#286) 2025-05-17 06:33:13 -04:00
Andryeyev, German bddb8f14d1 SWDEV-345024 - Retain the program on Fini kernel execution (#307)
Fini kernel is executed during the invocation of amd::Program destructor,
but the dispatch logic can retain/release the reference counter and
cause double free. Avoid double free with an extra retain() call
2025-05-14 21:21:26 +05:30
Assiouras, Ioannis f7482ef0a6 SWDEV-529449 - Bug fix when retrieving a memobj from the IPC mem handle 2025-05-13 19:18:22 +01:00
Jayaprakash, Karthik 876de49b11 SWDEV-506467 - Fixing compilation issue seen on clang compilation for ASAN. (#253) 2025-05-12 17:16:56 -04:00
Andryeyev, German da198ac5b2 SWDEV-531678 - Remove split path from the dispatch (#283)
The split path for blit kernels are no longer necessary, since the new blit kernels
don't use the copy size as the global workload
2025-05-12 12:50:32 -04:00
Arandjelovic, Marko a7492c516d SWDEV-511204 - Mapped virtual memory should use device instead of host context (#213)
Since the sub-buffer(virtual memory that is mapped to device memory) is associated with device memory, it should utilize the device context instead of the host context. The original implementation caused hipMemcpyPeer to not take the P2P path, as the memory object was treated as host memory.
2025-05-12 16:55:25 +02:00
Patel, Jaydeepkumar 6858b0fca1 SWDEV-521135 - Make common way to set/parse UUID bytes from PAL props. (#63) 2025-05-12 17:00:30 +05:30
Six, Lancelot c35e9643ec SWDEV-517078: Fix gfx11 trap handler (#212)
Fix incorrect edits done when porting the 2nd level trap handler from
the hsa-runtime.

Change-Id: I7bc5160be47b8f669efe05c4d194bc3c47fc0661
2025-05-11 01:12:28 +01:00
Xie, AlexBin faac50c77a SWDEV-528860 - reserve some memory in visible frame buffer (#251) 2025-05-09 20:08:23 -04:00
Xie, Jiabao(Jimbo) a320a3f214 SWDEV-528913 - support gfx950 in rocsetting (#217)
* SWDEV-528913 - support gfx950 in rocsetting

---------

Co-authored-by: Jimbo Xie <jiabaxie@amd.com>
2025-05-07 15:44:49 -04:00
Lambert, Jacob 6b12154583 SWDEV-518221 - Don't link against libamd_comgr.so at runtime
Convention is to always link against .so.* at runtime.
Having it link against .so will break on systems that package
the .so files in their dev/devel package.

This issue was found when building ROCm 6.4 for Fedora.

Commiting on behalf of GitHub user Mystro256
2025-05-07 11:56:41 -07:00
Zhang, Victor f960433dcd SWDEV-528142 - add error check for KernelParameters::capture (#276)
* SWDEV-528142 - add error check for KernelParameters::capture

* Update kernel.cpp

---------

Co-authored-by: victzhan <victzhan@amd.com>
2025-05-07 09:52:09 -04:00
Jayaprakash, Karthik fa55557f46 SWDEV-493805 - Cleaning up launch parameters arguments. (#241) 2025-05-06 15:06:13 -04:00
Andryeyev, German 65a0181a7c SWDEV-528808 - Release all HW queues even if only one is idle (#240)
Pytorch may not explicitly idle each queue. Thus, some queues can be considered as busy,
but have idle state in reality
2025-05-05 19:09:01 -04:00
Andryeyev, German 9b018165ce SWDEV-528808 - Disable dynamic queue by default (#256)
Dynamic queue management will be disabled by default and
the original sort logic is restored
2025-05-05 10:56:35 -04:00
Assiouras, Ioannis 9d6a0d1a4d SWDEV-521011 - Fix alignment in PalResource::CreateSvm 2025-05-01 02:22:49 +01:00
Andryeyev, German 84a4f293f4 SWDEV-526836 - add PipelineStageBlt flag (#229)
CP sync requires PipelineStageBlt flag.
2025-04-30 14:27:41 -04:00
Assiouras, Ioannis d3fb8eda8b SWDEV-525593, SWDEV-527293 - Acquire active queue after xferQueue is created (#165)
For xferQueue VirtualGPU::create is called after ProfilingBegin
so the active queue needs to be acquired.
2025-04-30 09:21:11 +01:00
Jiang, Julia eb62fe9f62 SWDEV-522634 - Fix device properties in hipInfo (#203) 2025-04-29 11:29:47 -04:00
Sang, Tao 96cadbc9e9 SWDEV-520352 - Remove HostThread and legacy monitor (#230)
* SWDEV-520352 - Remove HostThread and legacy monitor

Remove HostThread, semaphore and  legacy monitor.
Make original logics of thread and command queue stricker.
Add more comments to make logics clearer.
Some other minor improvement.

Also part of SWDEV-458943.
2025-04-29 09:55:24 -04:00
GunaShekar, Ajay 99ef573399 SWDEV-523028 - print PAL failure return values in logs (#81)
* print PAL failure return values in logs
* dump kernel info incase of PAL failure
2025-04-29 11:23:43 +05:30
Jayaprakash, Karthik 6811fd90b8 SWDEV-522707 - Set phys_mem_handle type to sizeof(size_t) to avoid blocking address range. (#105) 2025-04-29 11:19:16 +05:30
Jayaprakash, Karthik b2388dfb88 SWDEV-506467 - Skip Abort in case of crash from the device. (#60)
Change-Id: I964b2f2647d068202e9c38fcddb1337da754df8d
2025-04-29 11:19:02 +05:30
Critchley, Paul 7e9d5eab7c SWDEV-523611 - [Tools][OCL] OpenCL fails to capture with PalTrace (#198)
Finalize DevDriver initialization after device creation
2025-04-28 08:02:34 -07:00
Kudchadker, Saleel 072fb0804e SWDEV-521647 - Fix tracking of hw_event (#206)
- When a command may possibly have two packets(like device heap
  initializer), and if there is no signal on the main kernel packet the
tracking was broken as it marked HW event of the command as the first
packet signal.
- Make sure if no completion signal is attached to the second packet
  then clear the HW event for the command.
2025-04-25 08:46:44 -07:00
Kudchadker, Saleel ce24936970 SWDEV-510186 - Improve logging (#220)
- Print all arguments for logs, this is useful for debug
2025-04-25 08:40:31 -07:00
Li, Todd tiantuo 95cdc83eaf SWDEV-511055 - fix HIP PAL memory allocation workaround for APU (#40) 2025-04-24 15:07:16 -07:00
Sang, Tao 1113eff3f9 SWDEV-493275 - Support scratch limit (#20)
Support programmatic query and change of scratch limit on
AMD devices.

Change-Id: Id5da355a77366f97868e462847f3916e87fd2af6
2025-04-24 17:15:25 -04:00
Critchley, Paul 4f2a4b12a9 SWDEV-527731 - [Ubertrace] OpenCL driver reports wrong Instrumentation API Version (#211) 2025-04-24 14:06:17 -07:00
Sang, Tao 27aad09bd4 SWDEV-518831 - fix streams' sync issue in mthreads (#123)
* SWDEV-518831 - fix streams' sync issue in mthreads

1. Fix sync issue of null stream and non-null streams in
multithreads.
2. Remove assert(GetSubmissionBatch() == nullptr) as it
is invalid in multithreads.
3. Update getActiveQueues() to deal with the state of 
being terminated.
2025-04-23 15:08:07 -04:00
Sang, Tao 78f92901d8 SWDEV-516050 - Fix monitor hang in OCL (#75)
Fix monitor hang in cts integer_ops.
Improve notify().
Won't affect notifyAll() and Hip in direct
dispatch mode.

Change-Id: I95a458358e1cab9c76aefde117db09cdbd1fd3af
2025-04-23 14:34:53 -04:00
Xie, Jiabao(Jimbo) 9a8c9e70b2 SWDEV-441487 - add gfx1150/1 support to amd-staging clr (#182)
Co-authored-by: Jimbo Xie <jiabaxie@amd.com>
2025-04-23 20:43:03 +05:30
Andryeyev, German a5c860f3b0 SWDEV-497841 - Enable memory manager by default (#149) 2025-04-22 21:20:37 +05:30
Andryeyev, German a3effa16f1 SWDEV-523300 - Add the new option to build HIP (#179)
Add the new cmake option AMD_COMPUTE_WIN  to build HIP on Windows
from the public github. AMD_COMPUTE_WIN should point to a special
repo with the PAL static libs
2025-04-22 21:05:04 +05:30
Godavarthy Surya, Anusha bf28bbd9ab SWDEV-508538 - Optimize mem access and pack structure (#71)
Change-Id: Ib05b8891a6d228fc3266918a000d332fddc7438b
2025-04-21 13:43:25 +05:30
Ramirez, Lucas d020598a0f SWDEV-524612 - Consider "1" a truthy value for WGPMode (#187)
The compiler currently serializes the workgroup_processor_mode COMGR metadata boolean field as "0"/"1" instead of "false"/"true". Consider "1" a truthy value during parsing.
2025-04-17 11:50:07 +02:00
Andryeyev, German 3fd7650fe3 SWDEV-459758 - Pass workgroup size explicitly (#185)
It's easier for compiler to move explicit kernel arguments into user SGPRs
2025-04-15 15:22:15 -04:00
Andryeyev, German f6c804edc0 SWDEV-526836 - Switch PAL backend to CmdReleaseThenAcquire() (#175) 2025-04-15 11:49:53 -04:00
Chaudhary, Jatin Jaikishan fcaefe97b8 SWDEV-509213 - make cmake_minimum_required consistent across clr (#51)
Change-Id: Ib0b1df7af8984a37d6bf7ca68ec99597d5978821
2025-04-15 15:23:41 +05:30
Chaudhary, Jatin Jaikishan 07e57a1f0d SWDEV-517941 - use device bitcode before spirv (#95)
Also add flag: HIP_FORCE_SPIRV_CODEOBJECT to allow override to force use
SPIRV.

* use cache for already compiled code objects

* address review comments and use the two spirv isa names
2025-04-14 23:40:52 +01:00
Six, Lancelot 7b72c1b786 SWDEV-517078 - Update 2nd level trap handlers (#148)
* SWDEV-517078 - Maintain the trap handler ABI version in CLR

The trap handler ABI version is communicated to the debugger using
the r_version field in the r_debug structure.  This structure is
an external dependency, which makes it complicated to keep the trap
handler source (in CRL) and the ABI version number (external dependency)
in sync.

This patch proposes to patch the trap handler ABI version number in
_amdgpu_r_debug before communicating it to the debugger.

We can't directly include sc's executable.hpp file in CRL as it relies
on conflicting definition of ELF related types, so instead we need to
rely on a-priori knowledge on the r_debug structure.  Fortunately, this
structure is part of a stable ABI, so its layout is guaranteed to be
kept stable.

Update the 2nd level trap handler to follow updates from the
ROCr-runtime.  The trap handlers are stripped from parts dedicated to
architectures unsupported by CLR.

Bump the r_debug.r_version to track the ABI changes in the trap handler.
2025-04-11 18:59:54 +01:00
Yao, Longlong 0de73eeaf8 SWDEV-518966 - Avoid creating Arena Memobj for VMM pointer (#39)
Change-Id: I69c6c0a1464d01e674ac929de34ab10047012f1a

Signed-off-by: Longlong Yao <Longlong.Yao@amd.com>
2025-04-11 16:55:53 +05:30
Andryeyev, German 4c363df3bf SWDEV-517481 - Add more restrictions to the queue management (#168) 2025-04-10 21:51:45 +05:30
Andryeyev, German 94cd9bc4f7 SWDEV-525725 - Enable resource cache for SVM (#156)
- Make sure reserved_va_ updated before svmPtr overwrite
2025-04-10 10:54:28 -04:00
Stojiljkovic, Vladana e91cb4f320 SWDEV-505795 - Return the same ptr from hipIpcOpenMemHandle if it is called multiple times (#93)
* SWDEV-505795 - Return the same ptr from hipIpcOpenMemHandle if it is called multiple times

* Move initialization outside of if statement
2025-04-10 11:20:36 +02:00