Commit graph

116 Commits

Autor SHA1 Nachricht Datum
German Andryeyev 9f03f68a8a SWDEV-290160 - Switch to global HSA signals
Runtime can't assign internal HSA signals for HIP events, because
HIP application can destroy the HIP stream or signal reuse may
occur internally. Switch to global HSA signals for HIP events.

Change-Id: Ieaea2d6b039e492b2e7c5112782a8f4e601e50a1


[ROCm/clr commit: ce8dad2ecc]
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 863a43abfc SWDEV-290160 - Don't send notification for batch markers
Batch marker already has a barrier with HSA signal callback

Change-Id: I69fc63d72320c2e9cc2d2e59ebd3f07c0bd0e3b5


[ROCm/clr commit: c49f1069ab]
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
Saleel Kudchadker c952deaace SWDEV-286092 - Enable handler for marker always
For DD, send a NOP packet so that we leverage the handler to indicate
completion.

Change-Id: Ie57ea0124a8497d39cc49da1c4575c2cd86b9319


[ROCm/clr commit: 9d0846e732]
2021-08-22 23:56:07 -07:00
German Andryeyev 3e36acd579 SWDEV-278894 - Use GPU waits for HIP events
Save HW events in amd::Event.
Use HW events for synchronization

Change-Id: I98cf9c2d0ec3c7fcaf254b749ac6c568d7270ae0


[ROCm/clr commit: fa2e154a8b]
2021-05-25 13:41:15 -04: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
Ravi C Akkenapally 51663d1605 SWDEV-245531 - GLInterop: Add Buffer Interop support
Change-Id: I38326173475e84f8eca2605522542ef89a3cf524


[ROCm/clr commit: 0aa524363d]
2021-05-19 12:24:24 -07:00
kjayapra-amd aae0d4ca51 SWDEV-286346 - Implement Arena Memory Object for externally created memory.
Change-Id: I8530602d89edf83ad367c52167e48a1559ee1e18


[ROCm/clr commit: 1c49d8816c]
2021-05-18 10:59:52 -04:00
Jason Tang 0ea636c0b1 SWDEV-277566 - Only build kernelNames_ when requested.
Currently only clGetProgramInfo/CL_PROGRAM_KERNEL_NAMES requests it.

Change-Id: I38be16999ac2f631850fb5e07eeae54bfbe161ad


[ROCm/clr commit: f2a077f62f]
2021-05-13 15:07:50 -04:00
Jason Tang 6cd1f5854e SWDEV-277566 - Separate code object loading from building
Change-Id: I87b8178f55e8ef23762dfe11fab71665ba680f00


[ROCm/clr commit: 211ba25b4e]
2021-05-13 08:41:35 -04:00
Jason Tang 7f71fd4036 SWDEV-277566 - Add amd::Program::load interface
Skeleton implementation to allow change at HIP and OpenCL.

Change-Id: I70e69d33c6870cc96238b2f18010ace86d56147f


[ROCm/clr commit: b2116c2137]
2021-05-07 17:07:15 -04:00
Vladislav Sytchenko d63de355fe SWDEV-273235 - Allow explicitly disabling LF support
Currently LiquidFlash cannot be supported from Github Enterprise,
hence we need to be able to build with out it.

Allow this by setting -DWITH_LIQUID_FLASH=0.

Change-Id: I975e8ee16b7ba033e3eb95fe40955d8c1d4779b7


[ROCm/clr commit: 7034e749e3]
2021-05-05 14:32:30 -04:00
Vladislav Sytchenko b739fb879d SWDEV-280473 - Remove dependancy on internal ACL API
aclutGetTargetInfo() is an internal compiler lib helper functions. This
will not be imported in the HSAIL shared library build, however it is
simple enough that we can maintain our own local copy of it.

Change-Id: I91d1a336c7da027bf8a7df8fae86a25add533611


[ROCm/clr commit: 7fd1e9c10a]
2021-05-05 12:19:52 -04:00
pghafari dbb9c74540 SWDEV-245532 - HIP - Vulkan interop semaphores
Change-Id: Ib79328ce4ec2f8ac3aade59fde4fd30e2d6e5cba


[ROCm/clr commit: 582d12b32f]
2021-04-26 13:20:58 -04:00
Anusha GodavarthySurya 44e600b701 SWDEV-240806 - [hip-graph] Added functions updateEventWaitList and resetStatus
Change-Id: I6a753e9584bdacd39ee676466a884ec6b7859879


[ROCm/clr commit: c9c6bed022]
2021-04-20 09:43:40 -04:00
Vladislav Sytchenko c585ae92a7 SWDEV-280473 - Support HSAIL shared library build
This change makes HSAIL usage similar to that of Comgr. By default, the
runtime will statically link against it, however if HSAIL_DYN_DLL is
defined, then the runtime will try to dynamically load HSAIL.

Currently stick to statically linking to HSAIL. In a feature patch the
dynamic loading behaviour will be enabled.

Change-Id: I6a78a4375975cf847f236b200404c8cf941d012b


[ROCm/clr commit: c7b50bb890]
2021-04-14 12:25:54 -04:00
Saleel Kudchadker 7c9f72fb8d SWDEV-278336 - Print time info only when profiling
Change-Id: Ic8d04e58cf4558fbfc5ed6db35f3ff2d788803f9


[ROCm/clr commit: 9307ab43e4]
2021-04-09 13:17:31 -04:00
pghafari 01db6a04b3 SWDEV-245532 - HIP - Vulkan interop
Change-Id: I0e5bc4862925f344b3fcadf1fa0c0acaeaae6c4d


[ROCm/clr commit: 6e888b15ff]
2021-03-23 23:40:17 -04:00
Sarbojit Sarkar 74532ae490 SWDEV-271539 - fix for hipMemcpy3D segfault
Change-Id: I9c76dfaa19fb3a848623ddf3297a6c8a38f7c494


[ROCm/clr commit: 16fcf72c42]
2021-03-18 00:20:52 -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 3a4d69def2 SWDEV-272496 - Detect callbacks and force AQL barrier
HIP tests require HIP callbacks to be processed in another thread.
This change will use a thread from HSA signal callbacks to make
sure a HIP callback was done asynchronously.
Also process the callback before changing the status of command

Change-Id: Icef85d0e0f808663882cf6881ff1be3e5eca29ac


[ROCm/clr commit: 7f32d0b425]
2021-03-05 11:33:51 -05:00
Sarbojit Sarkar 790fd35a77 SWDEV-254329 - Init Profiling when ON
Change-Id: I72f9da94f8fbb95e66cf145831b252af05a19dc4


[ROCm/clr commit: fa89ee5ee0]
2021-03-04 23:35:27 -05:00
Ravi C Akkenapally 1d842c07ec SWDEV-179105 - Stream Operations: Add feature querying support
Change-Id: I01cb85223b83f3655e5e21ad16639da406e5cd3e


[ROCm/clr commit: e94d482c8f]
2021-03-02 11:02:15 -08:00
Sarbojit Sarkar 469f00e6f3 SWDEV-254329 - Fix for profiler ON/OFF
Change-Id: Iea72ae96ebe7ed95322dfc39d785ac326b47f6dc


[ROCm/clr commit: 14d54a7b29]
2021-03-02 02:16:14 -05:00
German Andryeyev f6cc68deac SWDEV-272496 - Fix multiple timing issues
- Don't notify if the batch is empty, because that means
the current command was processed already.
- Disable pinning optimization to avoid a race condition on stall.
- TS marker submition requires extra AQL barrier
to track the status.

Change-Id: I17eff4ad12ac66cfe1bb44048bebb1891805279d


[ROCm/clr commit: 24299e25bd]
2021-03-01 12:46:57 -05:00
German Andryeyev 52ea1c1e91 SWDEV-272496 - Fix a regression in PAL
Skip notification for markers with direct dispatch only,
since they are blocking always

Change-Id: I6bb17650f73371dae6e29c59fd6bb2012cc062fd


[ROCm/clr commit: a9b0e20d26]
2021-02-25 11:11:42 -05:00
Vladislav Sytchenko 0a132499ce SWDEV-271964 - Revert "SWDEV-264244 Fix StreamSync"
This reverts commit a962e2d0b3.

Change-Id: I870c8b71edeb31f587fffe2447762acba61a7938


[ROCm/clr commit: 184b2631d5]
2021-02-24 11:43:08 -05:00
German Andryeyev 5a6c7a9ae4 SWDEV-272496 - Disable notification for the previous notify
Direct disaptch doesn't insert extra barriers for Markers if
AQL barrier was the last issued command already.

Change-Id: I00fbc658547d83dd3ee64ec391ed50e5f8a08e30


[ROCm/clr commit: 0587fb7450]
2021-02-23 17:04:59 -05:00
Jason Tang 318c9e1080 SWDEV-1 - Fix warnings when building with clang++
Change-Id: Idebd2b618b9a3360147984a0e33852dbe2e65818


[ROCm/clr commit: 0d47b06928]
2021-02-18 10:02:46 -05:00
Jason Tang ac06dab550 SWDEV-265304 - Disable GFX8 in LinuxPro ROCr build
Change-Id: Ia26bb025a133a4acb255a539a45668975019cc6e


[ROCm/clr commit: c65be06c4c]
2021-02-16 13:32:47 -05:00
Ravi C Akkenapally 6629930067 SWDEV-179105 - Stream Operations: Add support for Wait and Write
Change-Id: Ibffa1d6d573826b64763da280074a77271d66808


[ROCm/clr commit: 0a5f9a3b10]
2021-02-15 17:02:38 -08:00
kjayapra-amd 4583cbafee SWDEV-270013 - Allocate kernel_arguments from kern_arg & finegrain pool instead of coarse grain.
Change-Id: Id4c6977934fdd6ef2311f6e75593801f1e51983c


[ROCm/clr commit: 2df099df9e]
2021-02-15 18:20:08 -05:00
Saleel Kudchadker 4da1282882 SWDEV-272673 - Add changes to dump log to a file
Env var AMD_LOG_LEVEL_FILE would dump the log to file.
Change-Id: I6add4a1ae6788f376ce116797cc0573007502e73


[ROCm/clr commit: 0f14c54c04]
2021-02-15 10:28:06 -08:00
cjatin 43a470093d SWDEV-252745 - Adding precompiled headers to build option
Change-Id: Iab03e8a75215d80c91817ee0227d034fefa9dfad


[ROCm/clr commit: 5cfea2981b]
2021-02-09 23:33:55 -05: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
Satyanvesh Dittakavi a962e2d0b3 SWDEV-264244 Fix StreamSync
Change-Id: I3a46a607a77aaf46dcd1fcf08db7e926613fe8d1


[ROCm/clr commit: a148a71075]
2021-01-08 02:06:31 -05:00
agodavar b1eb35e730 SWDEV-245381 : Updated guarantee error messages to print based on BUILD_TYPE
Change-Id: Ia21039326b440f6d807a6495a9a05dd52b384c76


[ROCm/clr commit: 69a786e8d1]
2021-01-05 05:49:09 -05:00
Sarbojit Sarkar 81f54bcdd3 SWDEV-262857: minor fix for D2D
Change-Id: Ica3cb9108e7a0d40d6a910f318df0a2420145603


[ROCm/clr commit: 0e4b4255b2]
2020-12-16 23:13:15 -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
Saleel Kudchadker 8cbd77b644 Fix event reporting for AMD_DIRECT_DISPATCH
Change-Id: I2ff74b9470da976852228c30fefbd4abd8e1952b


[ROCm/clr commit: d0c35f1c40]
2020-12-09 15:09:41 -05:00
German Andryeyev b301590fb9 Fix a deadlock in ROCr backend
When OCL ROCr backend performs CL_MEM_COPY_HOST_PTR it may attempt
to have access to amd::Memory object it's currently creating,
but it's not ready yet. The logic creates a temporary dummy object
to perform a copy transfer. The new change will make sure runtime
skips allocation of the same device::Memory object second time.

Change-Id: I14c6a00a3941fdcaa6aea299e9f096e4c3f5cadf


[ROCm/clr commit: 1fde842703]
2020-12-09 13:23:17 -05:00
Sarbojit Sarkar caa75dd35f [SWDEV-259635] explicit allow_access for hipMemcpy2D
Change-Id: Ia3206c08f92f417dc486c5f0dd40474f77b473d9


[ROCm/clr commit: f403b1c079]
2020-12-09 01:09:53 -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
Saleel Kudchadker 1410f002f3 Use barrier packets for event profiling
Use barrier packets for every profile marker that gets submitted
and use the completion signal to get GPU ts. This gives most accurate
dispatch time. Club cache flushes with profile marker if there is a
pending dispatch that needs cache flush. This optimization saves on
extra barrier and helps wall time

Change-Id: Ib62d6d7aabf4743827b561be6c9c5afa813203da


[ROCm/clr commit: 59c6cb0268]
2020-12-03 13:45:14 -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
German Andryeyev 8014e4c7bc Remove obsolete terminate() method
Change-Id: I66b4a74f17977f1af320f402402a2f1b602e9911


[ROCm/clr commit: 08b846ae12]
2020-11-30 11:46:09 -05:00
German Andryeyev 6a6549e474 Add image view allocation
If deferred allocation is disabled, then make sure the image view
is created without a delay. Also reset the allocation state, since
create() method isn't called for a view creation.

Change-Id: I7aa22a62bff18289ade83e56b5d3305ba68c715b


[ROCm/clr commit: 089a5cc4ad]
2020-11-18 09:37:30 -05:00
German Andryeyev a7adace36e Add direct dispatch simple hack for testing
The hack dosn't really track the commands status. It may be not
necessary for HIP, but will cause early resource release.

Change-Id: I791ad36dd8abd3b6b3d2c9b16a210a555c08ca64


[ROCm/clr commit: 532f0ae951]
2020-11-13 10:36:23 -05:00