Graphe des révisions

40 Révisions

Auteur SHA1 Message Date
Jason Tang fb753e489d SWDEV-333471 - Add GPU_FORCE_QUEUE_PROFILING
To support both hip and ocl. HIP_FORCE_QUEUE_PROFILING will be replaced with this later on.

Change-Id: I6d3514b1568ff049584ed9fd74bbdb3e4f4bf0c3


[ROCm/clr commit: d92b3a2d90]
2022-08-19 10:51:41 -04:00
German Andryeyev 685104cefc SWDEV-329789 - Avoid a race condition with the last command
Runtime can reset the last command only if it didn't change
since the query at the beginning of finish()

Change-Id: I629f2d788e9bbaa17ca4e96b1a753f8131e32463


[ROCm/clr commit: 9e74f1c7f8]
2022-07-07 10:17:07 -04:00
Ajay 6596275caf SWDEV-337331 - command queue logs for debugging option
Change-Id: I198aecc5fd12369d87d4acc9910acc9435c1967a


[ROCm/clr commit: 236178d0d4]
2022-06-22 19:41:38 +00:00
Saleel Kudchadker b3ad41f6e4 SWDEV-335780 - Indicate if handler is queued
Maintain status of handler callback. For event records we no longer
submit callbacks to reduce the load on the async handler thread. However
without a callback we leak command memory/decrement refcounts. Indicate
status of the handler which we can use to queue a callback when
finish is called.

Change-Id: I89fd02f3d047a0e8162664ee17581a14795f1928


[ROCm/clr commit: 5df34a2f7a]
2022-06-14 20:55:06 -04:00
German Andryeyev 0ecf22bb53 SWDEV-336024 - Clear device heap to 0
This reverts commit 8624574866.

Reason for revert: Fix regressions

Change-Id: I7d883e1c3cbd27bb64b581ec800243ad7dfe24fd


[ROCm/clr commit: 07c1b9a998]
2022-05-19 09:10:08 -04:00
German Andryeyev 8624574866 SWDEV-336024 - Clear device heap to 0
The heap must be cleared once per device, but ROCclr doesn't
create a queue per device in HIP. Hence, the clear operation will
be performed during the first queue creation.

Change-Id: I52ceb06d67d11cde6d019c5ab510059f426a9bfb


[ROCm/clr commit: 04bfd93569]
2022-05-11 11:03:56 -04:00
Saleel Kudchadker 29752a2bbc SWDEV-334150 - Force callback to cycle commands
Enqueue a handler callback for hipEventRecords(aka marker_ts_) for every
64 submits, This recycles the memory if we dont end up calling
synchronize for the longest time.

Change-Id: I3d39fe76d52a5d81387927edd85b5663b563682c


[ROCm/clr commit: fa76f03654]
2022-04-28 12:30:23 -04:00
Saleel Kudchadker f464cdacf4 SWDEV-333237 - Release command before queing a marker
Change-Id: I5343c4b7ade2dc68efa7454a919a6657726c45d3


[ROCm/clr commit: ddfd919a62]
2022-04-22 12:58:58 -04:00
Saleel Kudchadker 3d0100c5ab SWDEV-301667 - Add cache state for a device
- Add a global cache state for a device to indicate scopes of submitted
AQL packets
- Remove scopes for TS marker if hipEventReleaseToDevice is passed. Set
env ROC_EVENT_NO_FLUSH=1 to use NOP AQL for event records.
It would flush caches by default with system scope release.
- Calling finish() should ensure if caches are flushed, if not queue a
marker

Change-Id: Ibbbdbb1cd7ac61cb35649169212142545be159e0


[ROCm/clr commit: 8eeaa998c0]
2022-04-12 12:27:31 -04:00
Satyanvesh Dittakavi 85c2cac111 SWDEV-306939 - Fix vdi errors/warnings by CppCheck
Change-Id: I56d910f8363787f1050d5d7e8064ed553c5827fd


[ROCm/clr commit: e20dd61932]
2022-01-12 00:22:16 -05:00
haoyuan2 248a738674 SWDEV-290298 - add a flag to indicate the primary context active status
Change-Id: Ia31790706d3f855bc1eedf5ef874e471


[ROCm/clr commit: 439af94dd9]
2021-12-09 23:28:54 -05:00
anusha GodavarthySurya fce3b20213 SWDEV-295251 - Avoid marker if queue is empty for DD to fix MT issue
Change-Id: I80be39ace9d93347f81ef8acd7858d43bc4a3f1e


[ROCm/clr commit: 682151f39d]
2021-08-22 23:56:08 -07:00
anusha GodavarthySurya aae046174c SWDEV-295251 - Remove waitEvent check in append
Change-Id: I994f3e7c67ed29c4ee46229c8bcd1448fc7f59ec


[ROCm/clr commit: de5168fdef]
2021-08-22 23:56:08 -07:00
agunashe 49f0546637 SWDEV-293742 - Update copyright end year VDI repo
Change-Id: I69d2fea4a7a43adf96ccea794270e4af991c5261


[ROCm/clr commit: d96481fb36]
2021-08-22 23:56:07 -07:00
German Andryeyev a738f7957b SWDEV-292018 - Avoid marker if queue is empty
Change-Id: I40a42d67d2c911d2c9a0bf425f36bc795f9539c0


[ROCm/clr commit: 6ab8dcc682]
2021-08-22 23:56:07 -07:00
Saleel Kudchadker 14a113f69d SWDEV-247372 - Add logging for debug
Change-Id: Id5a27034005a7deba37072d8a4c6f250104a96c8


[ROCm/clr commit: 8e08880cc3]
2021-08-22 23:56:07 -07:00
Christophe Paquot dfbdbfecb5 SWDEV-240806 - Release resources in Command::terminate for HIP
We do not want to release resources during setStatus in HIP because of Graphs

Change-Id: Idc7b188ab5f8be6975ea91005dd2bbf177401f8c


[ROCm/clr commit: 133287f31f]
2021-08-22 23:56:07 -07:00
German Andryeyev a9abd850ea SWDEV-284671 - Add HW event wait to improve hipDeviceSynchronize
If AMD event contains a reference to a HW event, then runtime
could check/wait for HW event. CPU status update will occur later
after HSA signal callback, but it's not important for the result.

Change-Id: I591391a953bbdba6a25ac07e2cd98aeb17cd4596


[ROCm/clr commit: 85c70a7495]
2021-08-22 23:56:07 -07:00
German Andryeyev 7dadaa1ccb SWDEV-285318 - Wait for the queue before destruction
With direct dispatch enabled make sure the queue is done before
destruction.

Change-Id: Ib80af3efb97dfb93e2dce60a11db34fb5c45f5cd


[ROCm/clr commit: a81756bba3]
2021-05-20 10:28:24 -04:00
Satyanvesh Dittakavi a82c9f8322 SWDEV-264244 - Hide Notifications from HIP
This fixes hipStreamQuery returning hipErrorNotReady when idle
Change-Id: I3f77666a00bc6a7162b6c660d79e76c09669d94f


[ROCm/clr commit: a711a49881]
2021-03-16 06:30:55 -04:00
German Andryeyev e60c7aa890 SWDEV-269654 - Fix HIP stream busy query
- Avoid GPU wait on the marker submission and update the command
batch after HSA signal callback upon HSA barrier completion.

Change-Id: I5c1c97212aefc2ae4b99aa9e2a81627ee9a38c1c


[ROCm/clr commit: 6966d8098e]
2021-02-09 12:57:12 -05:00
German Andryeyev 696876f6bb Move returned last command under the lock
Change-Id: I4a2b29a6beacd56ea38d91a33b3c5f8b763be3c7


[ROCm/clr commit: 88bd851f72]
2020-12-11 15:19:06 -05:00
German Andryeyev 2813579db6 Add batch tracking for direct dispatch
Make sure the logic updates the command status when it's done in
HW, but not on submission.
Add the last command tracking, otherwise queue sync logic in the HIP
upper layer may skip synchronization, assuming the queue is empty.

Change-Id: I2d046792553e74df090a10f7d7a78914610f6df2


[ROCm/clr commit: 5b31c69a95]
2020-12-04 10:16:17 -05:00
German Andryeyev 9c462f9a6d Disable worker thread creation for direct dispatch
Change-Id: I28f08ab9352310c9bf843fcb803a48f95ddf4676


[ROCm/clr commit: e4f51e063b]
2020-11-30 17:50:12 -05:00
Jason Tang 50138a93a3 Add CommandKindString to the log
Change-Id: Ie23123a85cff82b1732da85f5bffbff6958c02e5


[ROCm/clr commit: d943cae31f]
2020-10-26 09:16:03 -04:00
Laurent Morichetti d0b6c2b538 Improve queueLock and lastCmdLock
Reduce the size of the queueLock and lastCmdLock critical sections
to improve lock contention performance. The smaller the critical
sections are the better.

lasCmdLock is still needed to guarantee that getLastEnqueueCommand_
can retain the command before it is swapped out and released.

Change-Id: Id35d4a77c035b2da0de4c15568b153d49e958bb7


[ROCm/clr commit: 080dcfe857]
2020-09-01 18:09:31 -04:00
Laurent Morichetti 5f5f1a3a84 Fix indentation with clang-format
Change-Id: I7aeadef3c613d5efc31a98e666bfb819ae34bdf5


[ROCm/clr commit: c95c613edc]
2020-09-01 18:09:19 -04:00
Saleel Kudchadker 20845c2560 Revert "SWDEV-241977 [ROCm QA] Random Soft hang observed while running TF and Caffe2 benchmarks"
This reverts commit c6649a8c7f.

Change-Id: Ib56493c92eca793f1dfb6f1cbefb32f0b4f65e89


[ROCm/clr commit: 1c24072d13]
2020-09-01 18:09:10 -04:00
Alex Xie c6649a8c7f SWDEV-241977 [ROCm QA] Random Soft hang observed while running TF and Caffe2 benchmarks
Change-Id: I42016c11db15411b86e7b8130d6ba557bc22dbb7


[ROCm/clr commit: ce038f3163]
2020-07-22 02:03:48 -04:00
Christophe Paquot f14d79c587 Make append and setLastQueuedCommand atomic
Two threads can enqueue to the same HostQueue (HostQueue::enqueue)
and result in last queued command being the first one reachine queue_.enqueue

NOTE: Temporarly make setLastQueuedCommand empty function to pass the build

Change-Id: Id09c3a28d184986f52b2ec86a2f6a18c40df1f0b


[ROCm/clr commit: 3d15a1e291]
2020-07-14 18:22:45 -04:00
German Andryeyev ebe5c3d381 Remove extra barriers
Don't flush current batch if the dependent wait is a nop

Change-Id: I8a8722b9011fe042c1a4ce195938290fc75e7c86


[ROCm/clr commit: c18892a590]
2020-06-22 12:41:02 -04:00
German Andryeyev 3d2182f8ba Revert "Avoid lock for last queued command"
This reverts commit 88c3f77bed.

Reason for revert: <INSERT REASONING HERE>

Change-Id: Ie10442c9447f010bb90c679b6cffca5b48b8d054


[ROCm/clr commit: 44bc0cb35d]
2020-06-04 18:08:17 -04:00
German Andryeyev 88c3f77bed Avoid lock for last queued command
Use atomics for last queued command update

Change-Id: I759e9d78ea72f23c0d45dbede6250b231e122276


[ROCm/clr commit: dc4e09a63a]
2020-05-29 11:06:55 -04:00
Christophe Paquot 992fbe8215 Use a dedicated lock for last queued command set/get
Change-Id: If3d2144841c7863cf7afe2ca85aea62e0a3a33c7


[ROCm/clr commit: 0782acabb5]
2020-05-28 12:49:39 -07:00
Aryan Salmanpour dee687d2d7 Add support for setting CU mask on ROCclr for ROCm backend
Change-Id: I0dbe2eeb33467fc0f24b26929119c10e9b455da7


[ROCm/clr commit: fed94b8604]
2020-05-15 14:23:43 -04:00
Payam 17f6a41982 removing AMD emails per palamida scan
Change-Id: If7307f5b1f81a43f2725ec5abd3b8989cbddbcc5


[ROCm/clr commit: 1b6f21ad9a]
2020-03-11 21:26:55 -04:00
German Andryeyev ebc40e115c SWDEV-193956 - [hipclang-vdi-rocm][perf]
Retain command before a wait.

Change-Id: I0ab8f1352af32c96567dad9e31b3687bdf407bf6


[ROCm/clr commit: 77ff161324]
2020-02-21 16:43:21 -05:00
German Andryeyev 039621e7b9 SWDEV-193956 - [hipclang-vdi-rocm][perf]
~45% to 50% of Performance drop on rocBLAS_int8 test

Use the last command in the queue for a wait.
Add extra print information about processed commands.
Add an option to disable file location printing.

Change-Id: I4187883e1a90e571fde3128af98368108fda8785


[ROCm/clr commit: a66d09f5a3]
2020-02-21 15:21:15 -05:00
Laurent Morichetti e284923583 Update copyright info
Change-Id: Ia4f9ff0f5f873b4223a8cca154188bb0d2f1abba


[ROCm/clr commit: b4c6143a2f]
2020-02-04 09:26:14 -08:00
Laurent Morichetti 011f3e945b Merge branch 'origin/pghafari/vdi-prototype' into lmoriche/amd-master
Change-Id: Id3b833d405596735becb3346f3b08c6da57033fe


[ROCm/clr commit: 20c7173849]
2020-01-30 20:12:13 -08:00