Commit-Graf

31 Incheckningar

Upphovsman SHA1 Meddelande Datum
Saleel Kudchadker 7b88ba5b57 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 8cc0e04239 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 b99efb9d67 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 22fe144b08 SWDEV-229520 - Reenable hipEventIpc test
Change-Id: Ib40fb07a07cc447182e23664573c5e37a1194a32
2021-04-21 13:55:15 -04:00
Sarbojit Sarkar daf0cbca3c SWDEV-260454 - Fix for idenfying bad streams
Change-Id: I122ff6f47535c3c76ab56ba49ab1450ef886b15f
2021-04-07 12:13:30 -04:00
Anusha GodavarthySurya d9debabdc3 SWDEV-278873 - hipStreamCreate handle invalid flag value
Change-Id: I05c0e0b76f7b09947e48d5b9f225af305bade27f
2021-03-31 07:59:41 -04:00
German Andryeyev 5c360446bf SWDEV-277543 - fix destruction of the stream object
Change-Id: If2f532e66099805a7f05181e63f5454893a1a288
2021-03-18 13:24:46 -04:00
German Andryeyev e48111bfce 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 b0402a95bf 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 fe7501a64b 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 3829645039 Add IPC Events support
Change-Id: Iac2bf3d5e1d9a993bebbb066c20d300d6f05558b
2021-01-08 20:09:26 +00:00
agodavar c5e3f955bf SWDEV-266089: hipStreamAddCallback argument validation
Change-Id: I3e61006796e88b4e2ba029118c95f3499959257b
2020-12-29 05:42:54 -05:00
Aryan Salmanpour 00268eaeed Add support for hipExtStreamGetCUMask API
Change-Id: I0fa67ad581dd75556f17c7410af2c1d5cb6ae99a
2020-11-20 13:41:38 -05:00
German Andryeyev d4e642203c Add an early exit if it's a null stream wait
Change-Id: I577f5da2f928bff172d64d511a60e08eda28c81d
2020-11-11 13:20:04 -05:00
agodavar 9124285f18 SWDEV-246142: Improve performance for sync with multiple streams
Change-Id: Ifc625c4c1311ac235b08ea705a3df216d47b2c5e
2020-09-02 00:56:46 -04:00
Vladislav Sytchenko 9998067174 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 dec95e58e3 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 e27d53043c Add missing stream null check for some hipStreamCreate APIs
Change-Id: I716d71e4ec59b0bd7922869bfa0ed908c22c289e
2020-07-20 18:07:03 -04:00
German Andryeyev 265d84bab9 Disable flush on marker
Change-Id: I04d0fd995fb4b29a6bc372e1543902a053017d6a
2020-06-22 13:27:39 -04:00
Christophe Paquot 20ae4d709f 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 fbba37070c Modify HIP_RETURN to print useful details
Change-Id: I23892c2d9a738b0298cdf24106d688a792937c73
2020-06-06 02:05:21 -04:00
Aryan Salmanpour 83b8e1fbac 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 f3ee29cdb2 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 bf11ffd175 Add support for missig hipStreamGetPriority API
Change-Id: I2be4b055e5f977eb6ecad0b1f5f9535e72345fe7
2020-06-01 13:33:14 -04:00
kjayapra-amd ab17b43d45 SWDEV-229840 - fixing return HIP_RETURN instances in hip.
Change-Id: I48763d7268bf5649bf2242c962c185f5f4af159c
2020-05-29 09:43:58 -04:00
Christophe Paquot dfec136725 Revert "Call notifyCmdQueue when building the event wait list"
This reverts commit 1cfc9d1860.

Reason for revert: better fix in ROCclr

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

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

Change-Id: Ie916d8f03ce91e8ef05a2b4edc580a7021520f6f
2020-05-26 17:59:22 -04:00
Aryan Salmanpour 3a30b9eb8d Add support for hipExtStreamCreateWithCUMask API
Change-Id: I369d0eaca493821c4badc6b18ac02daa2fddc95f
2020-05-22 11:34:06 -04:00
Christophe Paquot 163fdd6b74 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 dba0e72de2 name change vdi to rocclr
Change-Id: I06d198bbb4a499e153b290b73a92afed3553b252
2020-05-06 09:14:30 -04:00