Граф коммитов

550 Коммитов

Автор SHA1 Сообщение Дата
kjayapra-amd 7d5b4a8f7a SWDEV-437832 - Changes to update host unified memory and iommuv2 flags.
Change-Id: I88998cf57c21fc446fa28e250f826c607923670b
2024-02-07 06:27:47 -05:00
Saleel Kudchadker 0567c3b720 SWDEV-301667 - Better log
Display queue base pointer in the log. This can be co-related with AQL
packets

Change-Id: I544f9b6db6ae01c85e57e4b3f0b3fffefcd7c2ed
2024-02-05 05:08:11 +00:00
Saleel Kudchadker 9a6ddae7b2 SWDEV-301667 - Reset profiler correlation_id_
- The correlation_id had random junk values which we were inserting in
the dispatch AQL packet even when no profiler was attached but if we had
a valid timestamp.
- Also make sure we dont even write the reserved2 field in the AQL
packet if no profiler attached.

Change-Id: Icdb7493198c1bb5e2d786a97e027288660854cd7
2024-02-05 05:08:11 +00:00
German Andryeyev 842eda5e7f SWDEV-440746 - Remove pending dispatch check for SDMA P2P
Change-Id: I7290345cfc60cd878fb39a06b03105441793c27b
2024-02-05 05:08:11 +00:00
cadolphe 243b86dd23 SWDEV-368741 - Check for uninstalled hsa-amd-aqlprofile to avoid Segmentation Fault
Change-Id: I0c0c7a2ea7c35237332ddd7c2461e4d9ff8e2f1c
2024-02-05 05:08:11 +00:00
Alex Xie 5e1de3cc26 SWDEV-433820 - Optimize queue initialization (ROCM)
Change-Id: I0619a9f66ae3d64a0f3fc36384f46adb302e725d
2024-02-05 05:08:11 +00:00
kjayapra-amd b366a7c992 SWDEV-437832 - Adding device property to check if the device is accelerator.
Change-Id: I8349e99c03422c268bbb60a8c143bd492d9cec09
2024-02-05 05:08:11 +00:00
Lang Yu cc29df873a SWDEV-439419 - Unlock host ptr when device ptr equals host ptr
hsa_amd_memory_lock_to_pool() and hsa_amd_memory_unlock()
should be called balanced.

Change-Id: I8b1549861bff752aabbb6399d717d1e346079a38
Signed-off-by: Lang Yu <Lang.Yu@amd.com>
2024-02-05 05:08:11 +00:00
Ioannis Assiouras 28743d8dbd SWDEV-432599 - Added null checks for rocMemory ptrs in copyMemory
Change-Id: I8ccda2c915dad22c4ea67556dfaab9ba47770069
2024-01-18 15:48:30 -05:00
Jaydeepkumar Patel 77be355fd9 Revert "SWDEV-359287 - uniform_work_group_size is interger type is 1 for true and 0 for false. Lighting kernel's init sets uniform work group flag and hence not need to set it from options."
This reverts commit ea25e65834.

Reason for revert: Waiting for staging results before finally merging it.

Change-Id: Iaabb510325f50147f368108e98531291217627c0
2024-01-18 01:29:31 -05:00
Jaydeep Patel ea25e65834 SWDEV-359287 - uniform_work_group_size is interger type is 1 for true and 0 for false. Lighting kernel's init sets uniform work group flag and hence not need to set it from options.
Change-Id: I8d3a9a6ed1c3bddaaa86f7cdc242a45e6a1d09f6
2024-01-17 04:42:52 -05:00
Saleel Kudchadker 0b0df605d4 SWDEV-301667 - Remove resetFenceDirty
Dont track the status of fence_dirty_ flag on the host, instead clear it
when we submit a barrier on the respective stream.

Change-Id: I4d98dbf20c81379c9c5da9f5b67629a8f9f6dfcd
2024-01-15 15:43:14 -05:00
German 31101c6219 SWDEV-440746 - Limit WG for compute P2P
Use only 16 workgroups for compute P2P copies.
That should be enough to utilize XGMI bandwidth.

Change-Id: I60dfe019279bb95f93c8874244c1738aad1896d8
2024-01-12 14:56:29 -05:00
Saleel Kudchadker d6b4892600 SWDEV-439242 - Fix perf regression
This issue is due to the fact that we set fence_dirty_ flag for every
kernel launch. Whenever any next HIP API is caused, the stream logic
assumes fence is dirty and queues a marker, when its not needed.

Change-Id: I10a49ee951daa92221aa6be75e2334849579a45d
2024-01-10 11:45:02 -05:00
ksankisa f554a075c7 SWDEV-404921 - Add dynamic LDS size hidden kernel argument
Change-Id: If99019058e4bfdc988ef5fc4cef001b772380453
2024-01-06 08:46:55 +05:30
Satyanvesh Dittakavi 755eb2962c SWDEV-434846 - Limit the gpu single allocation percentage for all MI300 versions
Change-Id: I33dea3eaab249ce3f9a624d38267489f99cd530c
2024-01-03 23:47:44 -05:00
Anusha GodavarthySurya 748c6b3520 SWDEV-422207 - Fix simple graph test when DEBUG_CLR_GRAPH_PACKET_CAPTURE flag is enabled
- For new AccumulateCommand we enqueue nop barrier packet. So during stream sync we need system flush.

Change-Id: I0b97b626bcdae582ef95e7c95030d78df1fa5a54
2023-12-20 22:50:36 -05:00
German Andryeyev a6d480e098 SWDEV-436869 - Destroy host memory
Recent changes disabled system memory allocation
in the abstraciton layer. That requires memory
allocation/destruction in ROCR. Add destruction logic.

Change-Id: I68fe6b0a620ca743fe5850052ea0efa8bb7931c2
2023-12-15 16:39:41 -05:00
German Andryeyev fb3dfcf889 SWDEV-436859 - Enable pitch for COPY_HOST_PTR
Original logic didn't use pitch because, abstraction layer had
a sysmem copy without pitch. Since extra sysmem copy was
disabled, the code has to accept pitch values from the app.

Change-Id: Ia9fba7b33ddff4e9109b4e63d0d6afa52f501c8f
2023-12-13 16:50:16 -05:00
Satyanvesh Dittakavi b2102fe939 SWDEV-434846 - Correct the vgprs per simd for MI300
Change-Id: Id4862da7611f64392bfc1538fb644801ec0a9e7f
2023-12-13 03:06:21 -05:00
Jatin Chaudhary 12461dbd6a SWDEV-431399 - use x86 intrinsics only x86 platforms
This was highlighted by github issue:
https://github.com/ROCm-Developer-Tools/clr/issues/32
On RISC-V platforms this header might not be present.

Change-Id: I5f0959a7b281c760802e76541d50693d1a3902be
2023-12-12 19:10:50 -05:00
Jaydeep Patel 3daf8b334a SWDEV-430911 - Force SDMA only if explicitly specified & pick appropriate engine.
Change-Id: Ib34fa6b2782f74b753899fa8fddff646dc60c8ce
2023-12-04 21:58:47 -05:00
German 01217d0383 SWDEV-435015 - Disable sysmem allocation in abstraction layer
Change-Id: Idefdabd2997d618b962c42545ae67768c628c5d6
2023-12-04 11:40:28 -05:00
German Andryeyev 44761fe89b SWDEV-434298 - Add destination offset
The end pointer in copy buffer requires destination offset

Change-Id: I01f2967144f741761fd2ce3244fd8d04564d986f
2023-11-29 16:33:29 -05:00
German Andryeyev ed4e1fec98 SWDEV-434298 - Change copy buffer kernel
The new copy kernel can limit the number of launched workgoups.
It can copy in chunks of 16 bytes or 4 bytes.
Workgoup size is increased to 512 or 1024

Change-Id: Ic3fefa2d5bda6afebd1acc4d41ad310b138af6df
2023-11-28 16:56:30 -05:00
Jaydeep Patel eecbc2e436 SWDEV-431879 - Introduce IsHandlerPending back.
It seems that due to removal of vdev()->isHandlerPending(),
Marker queued to ensure finish is not enqueued and that cause
hung at waiting event for kernel enqueue command.

Change-Id: I364abb2dcb4897b11a7eb61b5d85013b69292792
2023-11-23 08:45:19 -05:00
German Andryeyev f1dc81f427 SWDEV-432174 - Change the fillBuffer kernel
- Add the new fillBuffer kernel, which allows to launch a limited
number of workgroups for memory fill operation
- Switch fill memory to 16 bytes write by default
- Allow to limit the workgroups with DEBUG_CLR_LIMIT_BLIT_WG

Change-Id: Ibad1822f2d42b2fc71bcfc1917c31409c0623e8e
2023-11-16 14:25:55 -04:00
Saleel Kudchadker b056686607 SWDEV-422207 - Report kernel names for activity profiling
- Report kernel names for optimized graph path
- Refactor code so that we store profiling info in Accumulate command

Change-Id: Ib97735a0239aeb9fc3a50a4bb7126dd0bcadc8af
2023-11-15 14:38:07 -05:00
Saleel Kudchadker 5c591b5877 SWDEV-301667 - Support device kernel args for PCIE
Change-Id: I5e51602bea5a68734227fd62e11ab68eb1ad81c1
2023-11-15 14:37:41 -05:00
Jatin Chaudhary ce27581465 SWDEV-431399 - fix first set of memory leaks in clr, found in rtc tests
change constexpr variable names to match the C++ style we follow.

Change-Id: Ibc59a65d8ff2ca765da7bf5e653c0650fb3714c4
2023-11-14 20:39:45 -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
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
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
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
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
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
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
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
Jaydeep Patel d18ae85833 SWDEV-415914 - Use settings from device's setting object.
Change-Id: I4b0cbab361e9e2d5b8164066ec37de1fa212e783
2023-09-14 19:16:50 +00:00