Commit Graph

4995 Commits

Author SHA1 Message Date
Vikram 1f8ead914a SWDEV-423946 - Make hash string to int conversion platform independent
The "long" type size seems to be platform dependent, causing hash value
overflow on implementations where "long" is 4 bytes. This addresses the
scenario.

Change-Id: I4e3c0df457e35b139dcc496d832210ba2cb849ba
2023-11-14 12:01:44 -05:00
Ioannis Assiouras c4f773db0b SWDEV-428244 - Fixed the computation of the start address of KernelParameters.values_
For avx build, the start address of values_ buffer in KernelParameters is not
correct as it is computed based on 16-byte alignment.

Change-Id: I3b28ae02d2c9c0517d4a348d95ae8c6721bec83d
2023-11-14 05:52:01 -05:00
Saleel Kudchadker c3bd229f4f SWDEV-422207 - Optimize graph end detection
- Do not use extra barrier to detect graph end. If its a kernel node we
can use a completion signal for the last packet. Saves roughly 6us for
Phantom testcase per graph launch.

Change-Id: I5e0c2479d9964fbeda86ed97533f6718f49a7f91
2023-11-10 11:57:02 -05:00
Saleel Kudchadker f06368fd04 SWDEV-301667 - Add error logging
Change-Id: I814399dc0e7083bb7fb0ed8bf46dd96bdf664965
2023-11-10 11:55:54 -05:00
German 5f297d75d9 SWDEV-430256 - Expose HIP_FORCE_DEV_KERNARG under PAL
Add support of HIP_FORCE_DEV_KERNARG under PAL.
Fix persistent memory detection for a resource view.

Change-Id: Ifb7db2db14e0c2205a9661cfa53887ec61ab26a4
2023-11-08 10:01:22 -05:00
Saleel Kudchadker f5c6fc4dfa SWDEV-422207 - Report TS for Accumulate command
Change-Id: Iba193a6068c1a2d25c2136643faee2c1e2591a07
2023-11-07 18:19:40 +00:00
Alex Xie 4fb9f03f9e SWDEV-430062 - Support GPU_MAX_HEAP_SIZE flag in ROCm
Change-Id: Ibfe82b3524e09c61879b988f23512f394d725024
2023-11-07 10:07:24 -05:00
German 65b85d1b33 SWDEV-1 - Switch to PAL interface 836
Change-Id: I90cdbf3afa19220e968f8f24e5707ee0c37a73ce
2023-11-07 09:48:25 -05:00
Saleel Kudchadker 40f41f4d0b SWDEV-422207 - Track commands for capture
- Track all captured commands under a new AccumulateCommand
- Add begin() and end() methods to capture commands
- Explicit TS object now passed to certain methods because
profilingBegin() and profilingEnd() now happen separately and thus can
run into threading issues

Change-Id: I171106bdcad72b057836cb2f3fc398db3533119f
2023-11-03 05:09:04 +00:00
Saleel Kudchadker 1338ff37e8 SWDEV-301667 - Cleanup unused paths
- Refactor code and cleanup logic for callback saving for event records

Change-Id: I5c56aa8e9c968a5bca70fb07ad1796da318e9e89
2023-11-02 11:43:41 -04:00
Ioannis Assiouras b0c9fb84fd SWDEV-428408 - Add waitingSignal for hsa_amd_memory_async_copy calls in hsaCopyStaged
Change-Id: I3c42ef1ef3ed2f0b00f0a50d402a32106e5978ba
2023-11-01 19:43:08 -04:00
German a49d633883 SWDEV-429529 - Allocate glb_ctx_ even for one device
Move context allocation into Device::init() method to simplify the logic and handle
HIP_VISIBLE_DEVICES properly

Change-Id: I0fc6f37c7ae39bedbdad0290295d6794c66d6c54
2023-10-27 15:00:15 -04:00
Saleel Kudchadker 182f6e2e6d SWDEV-422207 - Fix profiling check
Change-Id: Ia6ca28f0b593ea1680732684dd10f40c0043c973
2023-10-25 05:37:55 +00:00
Anusha GodavarthySurya 38d2c56784 SWDEV-422207 - Handle nonkernel nodes for graph opt
- Support graph with different types of nodes with single
branch when DEBUG_CLR_GRAPH_PACKET_CAPTURE flag is enabled

Change-Id: I149a8629769cd0d5849ffefb04f1352668a685b6
2023-10-24 18:36:06 +00:00
Saleel Kudchadker 5662d4037c SWDEV-408180 - Address possible cornercases
- Address corner cases that can arise with the new
hipMemcpyDeviceToDeviceNoCU enum
- Better log

Change-Id: I6035b901f8d616741054b7a5ff4f67956329ac57
2023-10-23 16:54:08 -04:00
Saleel Kudchadker de2b06a7a7 SWDEV-301667 - Reset addSystemScope_
If we submit a systemScope Barrier, we should reset this flag as there
is no need for dispatch AQL again to flush caches/HDP

Change-Id: I55710feb4ba6650852e785b5cadfa64c6b9ce14e
2023-10-23 16:53:47 -04:00
Ioannis Assiouras 7868876db7 SWDEV-428244 - Set PARAMETERS_MIN_ALIGNMENT to the native alignment
Change-Id: I14d8a0db4e575d6fa816754c52df405de88d9200
2023-10-21 17:26:46 -04:00
Saleel Kudchadker f316a30e5d SWDEV-408180 - Add a new hipMemcpyKind
Add hipMemcpyDeviceToDeviceNoCU to force a non blit copy path. This
helps in cases where an app may determine that CU may be busy and copies
with SDMA may be quicker.

Change-Id: I59b415dd8f6022c244e8d75f265464d5c635df1e
2023-10-20 13:18:10 -04:00
taosang2 5a0085e516 SWDEV-364236 - Fix layered Image issue
Fix wrong logic to get layer index;
Make layered image's layout match cuda spec;
Fix wrong comparision of element size.
Remove amd::BufferRect from ihipMemcpyAtoHCommand()
and ihipMemcpyHtoACommand().
Change-Id: Icc6a4233fbce2e9b2dc6feb79e6bfbd761684c7d
2023-10-19 16:06:20 -04:00
German 694fe4bedb SWDEV-427689 - Report LUID in Windows
Pass LUID infromation from PAL to HIP device properties.
NodeMask is calculated based on the order of devices in PAL

Change-Id: Ic53707b68b16f392e5284a0105bf1f3941b46653
2023-10-18 15:07:39 -04:00
German 00b58e2536 SWDEV-425441 - Create a fake WGL context
If a WGL context wasn't attachhed to OGL, then OGL fails to return
the entry points for AMD extension.

Change-Id: I2bfa5f4f4d038785282e1c9af455e4593e75d3ff
2023-10-18 09:44:09 -04:00
Ioannis Assiouras 2d8c65eedf SWDEV-427493 - Fixed segfault after accessing deleted timestamp
Change-Id: I478008f03e2bb4d9ac1f0865605edbf9f8254fea
2023-10-17 15:24:07 -04:00
kjayapra-amd 3ef829939a SWDEV-413997 - Initial VMM changes for ROCm path.
Change-Id: I4405fd7b53182eb4c4622835c811c0dc08461537
2023-10-16 11:29:16 -04:00
Jatin Chaudhary 2989840511 SWDEV-306642 - [ABI Break] Add texture/surface/device capabilities device struct entries
- alias hipGetDeviceProperties to hipGetDevicePropertiesR0600
- alias hipDeviceProp_t to hipDeviceProp_tR0600
- remove gcnArch from new device property struct
- add new requested struct members

Change-Id: If3f5dbef3d608487d9f6f419285f4bf577ea9bf0
2023-10-12 11:16:18 -04:00
jiabaxie 28f0daa34f SWDEV-405983 - adding in HIP_LAUNCH_BLOCKING
Change-Id: I3f9c8a745099aab05155ebe910e727693961a02f
2023-10-10 21:11:13 -04:00
Saleel Kudchadker bf8baeecb3 SWDEV-301667 - Track last used SDMA engine per queue
- Track last SDMA engine per queue, this results in better scheduling
- Reset last SDMA engine upon batch completion. That ensures we dont get
blocked if the same engine is used by another concurrent copy

Change-Id: Id53111980da7ee41d5c932fb44e4aab5b1e065a3
2023-10-10 12:13:11 -04:00
German Andryeyev fe7b36f3cb SWDEV-424603 - Use OR for CPU wait request
Make sure rocclr doesn't overwrite the client's request
for a wait.

Change-Id: I0addf18ea408b7f4ecaa1e04b2877cc0bbbfcc0d
2023-10-06 16:51:44 -04:00
Alex Xie 124de0c519 SWDEV-423579 - Move header file to ROCclr
This header file is used by ROCclr and might be used by HIP too.
ROCclr folder is a right place for this header file.

Change-Id: Ie2307331f9bd445f3c295d2ccbfc4924b0fa9510
2023-10-06 14:54:50 -04:00
German Andryeyev 5438b6362e SWDEV-424603 - Force CPU wait if profiling
Some pytorch tests use a tracer plugin and rely on profiling information
to be reported right after hipDeviceSynchronize()

Change-Id: Ib021a1e7b1a30b3c24de72627c471810f7f7878d
2023-10-06 11:33:06 -04:00
kjayapra-amd 6a8bc3c718 SWDEV-419688 - Do not run GWS init kernel for targets > gfx12 and MI300.
Change-Id: I8e7441268978be71ab8a5a33e7f8bcf69660e500
(cherry picked from commit 36d37ef614909c0f215512aac0c133408d787080)
2023-10-05 14:57:56 -04:00
taosang2 6398f604b0 SWDEV-299127 - Support External Mipmap
Support hipExternalMemoryGetMappedMipmappedArray().
Add ImageExternalBuffer to differiate ImageBuffer.
Currently we only support tiling_optimal mode as
vulkan driver doesn't provide tiling information.

Change-Id: I7e3524cdde53e4df9f728894bcebf4bd3f58d4d9
2023-10-05 09:58:17 -04:00
Anusha GodavarthySurya e63c280d4d SWDEV-422207 - Capture AQL Packets for graph Kernel nodes during graph Inst. And enqueue AQL packet during launch
Change-Id: I1e5f7f9e2a70bd500d190193cb6ba0867f5a63e7
2023-10-05 00:34:29 -04:00
German Andryeyev 596b496c16 SWDEV-424249 - Check if HwEvent is available
Allocate marker only if HW event doesn't exist for the last command.

Change-Id: I3e7284202365a9c75313fb5403f0c1908ab51d1e
2023-10-02 11:27:16 -04:00
German Andryeyev fbea58ba11 SWDEV-423317 - Enable GPU wait for hip sync calls
hipStreamSynchronize and hipDeviceSynchronize won't longer wait
for CPU commands in DD mode

Change-Id: I079c8bbfc34ddc6d3e2d74c92a34665877e512a5
2023-09-22 13:04:27 -04:00
German e1d34cb24f SWDEV-404889 - Debugger support, trap handler
Add trap handler code into runtime and compile/load during
device initialization. The current interface for trap handler in
PAL is obsolete and the new interface will be provided later.

Change-Id: I1fa702c5d1f2e6731f781369c980d546cf422328
2023-09-19 16:05:02 -04:00
Ajay 2bae1b1387 SWDEV-421102 - make clr compatible with c++20
Change-Id: Ia692817232caa3ee97dc0b2139645a0474b582e1
2023-09-18 11:28:29 -04:00
Jaydeep Patel d18ae85833 SWDEV-415914 - Use settings from device's setting object.
Change-Id: I4b0cbab361e9e2d5b8164066ec37de1fa212e783
2023-09-14 19:16:50 +00:00
Julia Jiang 42799c9f21 SWDEV-401314 - Fix failure on MI300 for progvar_prog_scope_misc basic test
Change-Id: I56701b050023199a3e56dc5a78553c0c330b8537
2023-09-14 11:32:25 -04:00
German 7be3a5e33e SWDEV-407533 - [ABI Break]Remove Wavelimiter
Change-Id: I6a2f6fb5a0c3acea93fa0200a69679783e76f5bd
2023-09-07 09:58:41 -04:00
Ioannis Assiouras 1302d6f119 SWDEV-420328 - Initialize AMD_LOG_MASK with decimals instead of hex
Change-Id: Id25510863c51206bca2e50fc93d6e1e1c5cbbfea
2023-09-07 03:04:37 -04:00
Jacob Lambert 19526e46e6 Revert "SWDEV-410182: Link device-libs when compiling source to bitcode"
This reverts commit f3dc04a50d.

Reason for revert: There are currently some outstanding issues with the COMPILE_SOURCE_WITH_DEVICE_LIBS Comgr action (https://ontrack-internal.amd.com/browse/SWDEV-386072). Once these LLVM issues have been resovled, we can safely re-apply this patch

Change-Id: I8501967af8496ea50d6e4a97399e45db51bbed1e
2023-09-06 21:34:03 -04:00
Saleel Kudchadker 42c9cd0320 SWDEV-301667 - Balance AQL packet scopes
- Acquire and Release scopes for AQL need to be balanced. These were
missing on the AMD_OPT_FLUSH=0 path.

Change-Id: Ibf4132eb96800f155d7b664359c790d68a353e60
2023-09-06 13:26:39 -04:00
Jaydeep Patel 198b7b412d SWDEV-417317 - Bypass agent init for HIP.
Change-Id: I3396cf7c1feced03d29f5e5ff3c77474f4f7e1ec
2023-09-06 00:40:54 -04:00
Ioannis Assiouras 96ac99b4a0 SWDEV-419664 - Set reserved0 field of hsa_kernel_dispatch_packet to zero
Change-Id: I2e9c503f1c393548aacad47d40da90a2126e522c
2023-09-05 19:10:33 -04:00
Sourabh Betigeri 7dc78d234d SWDEV-418855 - Limits the 'no GWS' approach to gfx940, gfx11and gfx12
Change-Id: Iab2d34d3142902517124cec7ef3461cf7aa4b98c
2023-08-30 23:48:02 -04:00
German ad56c20cd0 SWDEV-418038 - Remove opengl32.lib from linking in runtime
Change-Id: If9416742cd8dc6a35adaccce802d65888e808ef2
2023-08-30 14:07:28 -04:00
Satyanvesh Dittakavi 94e70bee26 SWDEV-419034 - Use MADV_HUGEPAGE for large host allocations
Change-Id: I80bb1839cdd47eb64a97467c8b01fcdf37195ad5
2023-08-30 14:03:26 -04:00
Juan Manuel Martinez f3dc04a50d SWDEV-410182: Link device-libs when compiling source to bitcode
This is related to SWDEV-410182, but it's not enough to fix it.

Functions from device-libs are precompiled into llvm-ir in a "target agnostic" way
(in reality, it's not 100% target agnostic, which brings us many headaches).

When linking builtins (like device-libs) from the command line, we use the flag
-mlink-builtin-bitcode. The difference between regular linking of bitcode and
this flag is that the later propagates target-specific attributes. If this
attributes are not propagated, we can end up with incosistent target attributes.

Comgr provides the action AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC
for this exact reason. The old action is currently deprecated and this one should
be used.

Change-Id: I518415214debdf4fedf0b1d81456d6e9fb8a3d19
2023-08-30 04:24:17 -04:00
kjayapra-amd 6a0f80a03d SWDEV-381625 - Parse compiler and linker options from environment variable.
Change-Id: Id5a012b678e5973c4b64dff84444a909aefae006
2023-08-29 20:24:27 -04:00
German bd00826446 SWDEV-3 - Move PAL to version 818
Restore PAL platform destruction.
Update CmdAllocatorCreateInfo::AllocInfo for the new interface.

Change-Id: Iea418eed7ee26166039a4a9cc1999438856e9097
2023-08-29 12:46:28 -04:00