Grafico dei commit

32 Commit

Autore SHA1 Messaggio Data
German Andryeyev e43696d7ca SWDEV-287137 - Add extra blocking marker
HIP should block the stream until callback is done. This change
will introduce extra marker that will block the queue.
Note: MT path doesn't really require extra marker, but the logic
is identical to avoid extra checks for direct dispatch

Change-Id: Ib90fd2d751adf337f5e43ac6098e84767530233b
2021-05-27 21:17:18 -04:00
Saleel Kudchadker fac2a9fbc8 SWDEV-283726 - Indicate profiler attached
Set profiler attached flag in VirtualGPU to inform ROCclr of it

Change-Id: I776c9fcd762cf02f3ce0f3c386d02384a224126c
2021-05-12 13:40:47 -07:00
Anusha Godavarthy Surya c35ba37287 SWDEV-240806 - Initial commit for hipGraph and stream capture infrastructure
On StreamBegincapture captures the parameters passed to APIs and respective node will be created and added to graph
All parameters are passed to STREAM_CAPTURE macro, it checks if stream in capture mode and redirects the call to the capture function and returns
Updated hipStream and hipEvent with capture parameters
Added handling for hipStreamBeginCapture & hipStreamEndCapture

Change-Id: Ic8926a7b4336c2cc81f0b3a9a224aa392c474134
2021-05-07 17:38:16 -04:00
Tao Sang a95ff95bf7 SWDEV-283515 - Fix crashing in kernel launch on MGPUS
Fix wrong mixing of current device and stream device in
ihipModuleLaunchKernel() and hipLaunchCooperativeKernel().

Fix missing hipSetDevice() in hipMemcpyWithStream* tests.

Change-Id: I09333bb40d239bb42c832df5ea16d17eeaeff5e7
2021-04-29 14:46:47 -04:00
Rahul Garg f2c96993e1 SWDEV-229520 - Reenable hipEventIpc test
Change-Id: Ib40fb07a07cc447182e23664573c5e37a1194a32
2021-04-21 13:55:15 -04:00
Sarbojit Sarkar 492ccc3281 SWDEV-260454 - Fix for idenfying bad streams
Change-Id: I122ff6f47535c3c76ab56ba49ab1450ef886b15f
2021-04-07 12:13:30 -04:00
Anusha GodavarthySurya 45ccc14d55 SWDEV-278873 - hipStreamCreate handle invalid flag value
Change-Id: I05c0e0b76f7b09947e48d5b9f225af305bade27f
2021-03-31 07:59:41 -04:00
German Andryeyev 7600326eb2 SWDEV-277543 - fix destruction of the stream object
Change-Id: If2f532e66099805a7f05181e63f5454893a1a288
2021-03-18 13:24:46 -04:00
German Andryeyev 84f8785288 SWDEV-272496 - enqueue a marker for callbacks always
The current implementation in ROCclr for callback is
based on OCL specification. If in HIP the same command
could get multiple callbacks, then ROCclr will process them in
a reverse order. Unique Markers for each callback will make
sure it won't happen.
Add a dependency wait for callbacks, since HSA signal callback
doesn't guarantee the order.

Change-Id: I9d514734e258312fe9a74d48132361eb17c52d67
2021-03-08 14:19:53 -05:00
German Andryeyev ffc89dff8a SWDEV-272496 - Delay enqueue until callback setup
With direct dispatch enqueue occurs before callback update and
it can't be tracked in the device backend

Change-Id: Ie8793e3ddb68cc5bb36348f7a8dcdbdc87a2487c
2021-03-03 13:14:28 -05:00
German Andryeyev 56154e33dc SWDEV-272496 - Add marker if notification was the last command.
If MT is enabled, then a new callback can be received before the previous
command is processed, causing a conflict of 2 callbacks.

Change-Id: I5ff8f231208e8d62824d590d3c8e791e8e36affb
2021-02-23 13:12:06 -05:00
Rahul Garg c307baf3da Add IPC Events support
Change-Id: Iac2bf3d5e1d9a993bebbb066c20d300d6f05558b
2021-01-08 20:09:26 +00:00
agodavar 2a4568d416 SWDEV-266089: hipStreamAddCallback argument validation
Change-Id: I3e61006796e88b4e2ba029118c95f3499959257b
2020-12-29 05:42:54 -05:00
Aryan Salmanpour d9a335bccf Add support for hipExtStreamGetCUMask API
Change-Id: I0fa67ad581dd75556f17c7410af2c1d5cb6ae99a
2020-11-20 13:41:38 -05:00
German Andryeyev a04a9a51a8 Add an early exit if it's a null stream wait
Change-Id: I577f5da2f928bff172d64d511a60e08eda28c81d
2020-11-11 13:20:04 -05:00
agodavar 76824a7f04 SWDEV-246142: Improve performance for sync with multiple streams
Change-Id: Ifc625c4c1311ac235b08ea705a3df216d47b2c5e
2020-09-02 00:56:46 -04:00
Vladislav Sytchenko 61b84e246c Fix memory leak
getLastQueuedCommand(true) will implictly retain the last command, hence if we're not putting it in the waitlist, we should release it.

Change-Id: I1ad4ddcdf1df5237b83e1ea2447eb39a59f7dc3a
2020-08-26 12:45:18 -04:00
Saleel Kudchadker 2ef062480b Enable queue profile only if we attach a profiler
Submit explicit profile marker for hipEventRecord to record
timestamps. Enable explicit signal profiling if the API specifies
start and stop events.

Toggle this with env var HIP_FORCE_QUEUE_PROFILING=0

Change-Id: Iae449a63ec3ebf6c2880e65d7b1dd1031a29018f
2020-08-06 11:28:16 -04:00
Aryan Salmanpour 2e72f989bd Add missing stream null check for some hipStreamCreate APIs
Change-Id: I716d71e4ec59b0bd7922869bfa0ed908c22c289e
2020-07-20 18:07:03 -04:00
German Andryeyev 44c1df802e Disable flush on marker
Change-Id: I04d0fd995fb4b29a6bc372e1543902a053017d6a
2020-06-22 13:27:39 -04:00
Christophe Paquot c8f9afa9da Do not deferred stream creation now that we multiplex HW queues
SWDEV-239856

Change-Id: I156650faf832f86891f00ee167269509edd844ec
2020-06-09 19:16:25 -04:00
Saleel Kudchadker 2e8c1e9f24 Modify HIP_RETURN to print useful details
Change-Id: I23892c2d9a738b0298cdf24106d688a792937c73
2020-06-06 02:05:21 -04:00
Aryan Salmanpour 1bb86658cc Add support for setting hip stream priority
this change follows CUDA convention where lower number is greater priority

Change-Id: I72596a36449e818cbd8c175bf8519c51f46b1610
2020-06-04 22:50:30 -04:00
Payam a524f13c97 Observed softhang while running hipStreamAddCallbackCatch SWDEV-236746
Workaround hipStream deadlock issue as the same lock was used twice SWDEV-236746

Change-Id: Icc60104ce6edf4cfd2a3a889bab78a6caadd50b7
2020-06-04 14:11:22 -04:00
Aryan Salmanpour 4a1536701f Add support for missig hipStreamGetPriority API
Change-Id: I2be4b055e5f977eb6ecad0b1f5f9535e72345fe7
2020-06-01 13:33:14 -04:00
kjayapra-amd aae3e13296 SWDEV-229840 - fixing return HIP_RETURN instances in hip.
Change-Id: I48763d7268bf5649bf2242c962c185f5f4af159c
2020-05-29 09:43:58 -04:00
Christophe Paquot 7e57136aba Revert "Call notifyCmdQueue when building the event wait list"
This reverts commit 3ba07f5e3c.

Reason for revert: better fix in ROCclr

Change-Id: I9707e69adf42a662c08fe9b3ec7458655d838bdd
2020-05-28 17:01:10 -04:00
Christophe Paquot 3ba07f5e3c Call notifyCmdQueue when building the event wait list
SWDEV-237846

Change-Id: I8bf70e7ad19903767a080d8c6e516c83b0dc2545
2020-05-27 12:53:46 -04:00
Christophe Paquot f7ed87b02b hipDeviceSynchronize needs to sync NonBlocking streams as well
SWDEV-237167

Change-Id: Ie916d8f03ce91e8ef05a2b4edc580a7021520f6f
2020-05-26 17:59:22 -04:00
Aryan Salmanpour 7dd5b19290 Add support for hipExtStreamCreateWithCUMask API
Change-Id: I369d0eaca493821c4badc6b18ac02daa2fddc95f
2020-05-22 11:34:06 -04:00
Christophe Paquot 6b361bc1a0 HPC : Intermittent hangs are observed while running Gromacs benchmarks
SWDEV-235579
Move the lock before destroying the queue as there's a multithreaded race condition if the queue
is being destroy and right after we set queue_ to nullptr, another thread can call ihipWaitStreams
which will then call create on that same stream because queue is now nullptr.
Moving the lock on streamSet prevents this from happening because we would remove the stream from that
list and therefore ihipWait will not try to call asHostQueue which tries to create the queue if not created yet
since the stream won't be in the list anymore

Change-Id: I3108657ab403d39d4123e83294fcf1f0880e5563
2020-05-11 16:35:13 -07:00
Payam c5f76c3de3 name change vdi to rocclr
Change-Id: I06d198bbb4a499e153b290b73a92afed3553b252
2020-05-06 09:14:30 -04:00