Commit Graph

6552 Commits

Author SHA1 Message Date
Anusha GodavarthySurya ff29b47bb8 SWDEV-452787 - correct hipDrvGraphAddMemcpyNode check
Change-Id: Id58f982edd4f17d675f7a0f61a9b4dea0baebd9b


[ROCm/clr commit: ea4f09e8c0]
2024-03-29 00:56:12 -04:00
Anusha GodavarthySurya ae296c8fad SWDEV-443567 - SWDEV-436126 - Fix Prohibited and Unhandled Operations during capture
=> hipDeviceSynchronize is not allowed during capture.
=> hipEventSynchronize during capture should return hipErrorCapturedEvent error
=> hipEventQuery during capture should return hipErrorCapturedEvent error
hipStreamSynchronize, hipEventSynchronize, hipStreamWaitEvent, hipStreamQuery
For Side Stream(Stream that is not currently under capture):
=> If current thread is capturing in relaxed mode, calls are allowed
=> If any stream in current/concurrent thread is capturing in global mode, calls are not allowed
=> If any stream in current thread is capturing in ThreadLocal mode, calls are not allowed
For Stream that is currently under capture
=> calls are not allowed
=> Any call that is not allowed during capture invalidates the capture sequence
=> It is invalid to call synchronous APIs during capture. Synchronous APIs,
such as hipMemcpy(), enqueue work to the legacy stream and synchronize it before returning.

Change-Id: I201c6e63e1a5d93fd416a3b520264c0fdbe31237


[ROCm/clr commit: 19b4660cbb]
2024-03-28 22:10:31 -04:00
Jaydeep Patel c4239ed8e8 SWDEV-446992 - Request can be for bytes OR dptr OR both.
Change-Id: Ib479c744b90125b74d99cbf18b7f4b8cf765bf1c


[ROCm/clr commit: 09328f45b3]
2024-03-26 11:10:24 -04:00
kjayapra-amd a17f9d2d75 SWDEV-448288 - Remove references to deprecated llvm references.
Change-Id: I7b58177c41dc0c6c59813977cb90e65a6cb3be72


[ROCm/clr commit: 5b28e386f6]
2024-03-26 10:23:18 -04:00
German Andryeyev e46ab0bff5 SWDEV-353281 - Change pool type for graphs
Under ROCr physical allocations don't have initial VA and require extra
flag in ROCclr. Add an option to have a mempool of physical allocations.

Change-Id: I4d062fe0dd8113d4eaf6e8b51749ed56d8701d1e


[ROCm/clr commit: f296159f62]
2024-03-25 10:21:05 -04:00
Jaydeep Patel 1bbbff9dd9 SWDEV-452299 - Pass dst pitch while capturing hipMemcpyParam2DAsync & elementSize should be 1 as width is in bytes while capturing hipMemset2DAsync.
Change-Id: I8f9122a30cba0a07c097dfd7609432090caab142


[ROCm/clr commit: 0be92b8f09]
2024-03-21 12:49:34 -04:00
Ioannis Assiouras a3b6fd539f SWDEV-449146 - Call hipDeviceSynchronize before removeFatBinary
Added call to hipDeviceSynchronize in __hipUnregisterFatBinary
to ensure that all HSA async signal handlers complete before removeFatBinary

Change-Id: I756fecca1c2a5eae092613d8079de266399e5685


[ROCm/clr commit: ad32e604c7]
2024-03-20 23:40:46 +00:00
Ioannis Assiouras 8b875d0248 SWDEV-430437,SWDEV-434702 - Split the streamset per device
Change-Id: If1bcca45825c9899462bb95ed6f637f5af806cc8


[ROCm/clr commit: be2bdabb76]
2024-03-18 19:08:52 -04:00
Ioannis Assiouras b46d3c0f8d SWDEV-451166 - Disable kernel args for non-XGMI if HDP flush register is invalid
Change-Id: I227e046e2b9cb25476a50240f5d070adbd558f21


[ROCm/clr commit: 96f5c44851]
2024-03-15 05:27:52 -04:00
Anusha GodavarthySurya ec391d7249 SWDEV-436126 - hipStreamDestroy to remove stream from capture list
Change-Id: Ie735f27b9c5df4faf39bd4be10fbe4401fd88cdb


[ROCm/clr commit: 476dc4c87c]
2024-03-14 11:32:10 -04:00
David Salinas 7de3d5a95a roc-obj uses incorrect path to find ROCm's llvm-objdump
SWDEV-448278 - [LLNLA-260] (ELCAP-546) roc-obj uses bad path

Change-Id: I1a19f1fea29b301cfc183018fa050a8b8aeaaf02


[ROCm/clr commit: 383ed4cedf]
2024-03-14 10:55:25 -04:00
Satyanvesh Dittakavi 15f01694f4 SWDEV-444021 - Implement hipGetFuncBySymbol
Change-Id: I7ef13d02c5b5c6ce2386ccb92b5602d005b35988


[ROCm/clr commit: 684fd60c8f]
2024-03-14 02:56:30 -04:00
Jaydeep Patel 2d8d4d5821 SWDEV-447384 - Handle double free case.
Change-Id: I7a1d45c2f7510180911507d56ec863982b161f6c


[ROCm/clr commit: 43e2bb6126]
2024-03-13 23:08:27 -04:00
jiabaxie 5af8ba8513 SWDEV-450204 - hipGetProcAddress check for null corrected
Change-Id: Ic34b0d561d3d70f3411a60924a64c3b89954394f


[ROCm/clr commit: 14bcbcc25b]
2024-03-13 16:44:08 -04:00
Jaydeep Patel 05fccb2d7e SWDEV-447525 - Fix merge conflict.
Change-Id: I9dc852e634fb702a0d17ace3fad53e14178d4da0


[ROCm/clr commit: 79162c244b]
2024-03-13 11:52:28 +00:00
Jaydeep Patel 844765d7e0 SWDEV-447525 - maxSize param for Mem pool props.
Change-Id: Ib743611a66921aeaa449b6622b933cc8b9190d87


[ROCm/clr commit: b72d8da1bd]
2024-03-13 00:58:48 -04:00
kjayapra-amd 8947420e41 SWDEV-423835 - Fixing kernel launch issues on Virtual Memory Management path.
Change-Id: I9f5e8a3d83af3809b2c50b21a10697e26113dd23


[ROCm/clr commit: f5ca620baa]
2024-03-12 17:22:07 -04:00
taosang2 8cc8dda1cd SWDEV-450225 - Add missing targets in hipRtc
Change-Id: Ifccdddfc8ac72585f6ba145578e5bbb7e3cd1643


[ROCm/clr commit: 4c82df817f]
2024-03-12 10:34:08 -04:00
German Andryeyev f3db4e12e6 SWDEV-311271 - Correct the error codes in mempool
Change-Id: Iacf8ad2cc454dfe53ccdb47c08d871b24ecf4107


[ROCm/clr commit: 1d8562eb7d]
2024-03-12 10:18:44 -04:00
sdashmiz 0c65a7baea SWDEV-447458 - remove check for image support
- remove the check from hipmallocpitch

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ife3a95381be703b1c1b7492abfd4432c4a8141c8


[ROCm/clr commit: 315d0fc46e]
2024-03-11 11:39:14 -04:00
Shilei Tian d90a0d9c57 SWDEV-442724 - Remove uses of -amdgpu-early-inline-all to enable function calls
Currently we force inlining everything for HIP. Now we'd like to enable function
supports. The first step is to remove uses of `-amdgpu-early-inline-all` in
various places. This patch is to remove all of them from clr.

Change-Id: Ib0cad1f586714c9989778b00746aa4c47a4eec95


[ROCm/clr commit: a09204388a]
2024-03-11 10:02:12 -04:00
Sameer Sahasrabuddhe dcd3673e66 SWDEV-295298: hide warp sync builtins in ROCm 6.2 (absent in 6.1)
Change-Id: I6d59e4f3a133dce5ea0521fc9d09f93f9fd0f376


[ROCm/clr commit: 0421a35f71]
2024-03-11 02:44:20 -04:00
Jaydeep Patel 79a57a6fc1 SWDEV-446219 - Validate option value.
Change-Id: Ifccdddfc8ac71585f6ba045578e5bbb7e3cd1649


[ROCm/clr commit: 66f6a3e255]
2024-03-07 12:53:34 -05:00
Anusha GodavarthySurya 41ec66ff67 SWDEV-448586 - Added implementation for new API hipStreamBeginCaptureToGraph
Change-Id: I1ce802102cef2b66c92d3375f769983841de793f


[ROCm/clr commit: 4feb1f9337]
2024-03-07 05:24:49 +00:00
German Andryeyev 4bb028a49d SWDEV-311271 - Add dependency tracking for streams
Mempool has capability to track dependency between streams for
faster memory reuse. Enable that capability.

Change-Id: I28266a7e38d0fc4c5d027b9542d3719653840821


[ROCm/clr commit: 17d0c166d2]
2024-03-05 12:53:09 -05:00
German Andryeyev 396b3f8de7 SWDEV-311271 - Return different errors
Match errors with the tests

Change-Id: I32db83843e45e0f09359149ea9fd7a532c881e16


[ROCm/clr commit: 11a6be1ede]
2024-03-04 17:02:30 -05:00
Rahul Manocha ee52a05009 SWDEV-448281 - Fix for CG Tile Partition Dynamic Size
Change-Id: Ibdccec45470caf55a8c00194e6da0dde73e4b180


[ROCm/clr commit: e5e7687fd8]
2024-03-04 13:00:24 -05:00
Ioannis Assiouras 609893e98f SWDEV-445960 - Fix __umul64hi __mul64hi on windows
Change-Id: I4857d269bc80fcc0e6b77df941f24ff1964a4d42


[ROCm/clr commit: 74cae705ae]
2024-03-03 12:42:42 -05:00
Jatin Chaudhary 286599824e SWDEV-441629 - add some missing hiprtc link options
Change-Id: I10019823e212c6d4de6df30c0fe1c20d9e992f29


[ROCm/clr commit: 7f9651d4bb]
2024-03-01 07:49:57 -05:00
ChingShihLi 5ca2131ce0 SWDEV-413377 - Segfault for hipLaunchKernel with multi GPUs
- Using runtime unbundler, no any gfx device can load fat binary,
if there is any device without available code object.

- Extract available code object to corresponding gfx devices. So
users can work ROCm with those ready devices without segmentation
fault.

Change-Id: I9f14c65ecebf2d3c4b127a007cb434a3ae98c450


[ROCm/clr commit: 6723277ad4]
2024-03-01 02:24:22 -05:00
Rahul Manocha 0a269e98a9 [SWDEV-448077][SWDEV-448067] - Changes to Kernel Node Attribute related APIs
Change-Id: Ibbf773fd5f134a62b7ce04f6956b10c1086b1782


[ROCm/clr commit: 2c0fa829b4]
2024-02-28 18:14:41 -05:00
Anusha GodavarthySurya f1e5162757 SWDEV-447545 - Fix Enable/Disable node with hipGraph
Node can be enabled/disabled only for kernel, memcpy and memset nodes.
If the node is disabled it becomes empty node.
To maintain ordering just enqueue marker with respective node dependencies.

Change-Id: I710f3e88ab4e76c81f6f86a40a7dc61fd4c7e440


[ROCm/clr commit: e0e63eb04d]
2024-02-28 17:34:03 -05:00
Anusha GodavarthySurya 67543a60f1 SWDEV-444988 - Fix hiddenheap variable initialization
Change-Id: Icdb32ef4718b8ca0beedd569a4aaf40a9f4fb49d


[ROCm/clr commit: ea66946399]
2024-02-28 17:22:32 -05:00
German Andryeyev e26e82d58e SWDEV-311271 - Update mempool errors
Add extra validations for negative tests.

Change-Id: I7b2879b8840b5d1b6c5cb0d919a651cd868b7529


[ROCm/clr commit: d808ae6782]
2024-02-28 17:13:49 -05:00
Sourabh Betigeri 423fd58c3f SWDEV-425640 - An instantiated graphExec should retain a copy of every reference in the source graph
Change-Id: Idf6b224449ca642af2860b33dc739f51a6248e4c


[ROCm/clr commit: 3fdd46ae59]
2024-02-28 12:04:53 -05:00
Satyanvesh Dittakavi 9caac12074 SWDEV-446781 - Check validity of hiprtc link state before using it
Change-Id: I864e8d1a79bb28d9df0e4ee528cb50a96bc245cc


[ROCm/clr commit: 15a058cb60]
2024-02-28 00:27:17 -05:00
Anusha GodavarthySurya 4499ded668 SWDEV-445981 - Handle hipGraphExecUpdate to update graph kernel node params with graph performance optimizations
Change-Id: I3b05c6bfc83404152bcae9b31cfdf56af7cc61a4


[ROCm/clr commit: 4b4ec7fc52]
2024-02-27 15:20:23 -05:00
Jonathan R. Madsen 1f91fcf42e SWDEV-443227 - Update hip_api_trace.cpp
- enforce incrementing the table versioning number when a table size changes outside of ifdef for ROCPROFILER_REGISTER
- add new HIP_ENFORCE_ABI entries
- update the HipDispatchTable size and bump HIP_RUNTIME_API_TABLE_STEP_VERSION to 1
- re-enable rocprofiler-register

Change-Id: Ie0cc1d8491c5640056e5dd393ea243e4dce4e8a9


[ROCm/clr commit: d84c5ae3af]
2024-02-27 13:29:33 -05:00
Anusha GodavarthySurya 49cbeaea21 SWDEV-444988 - Fix __amd_rocclr_initHeap sync with DEBUG_CLR_GRAPH_PACKET_CAPTURE
When kernel does device side malloc, initial heap is allocated with __amd_rocclr_initHeap.
During graph launch kernel __amd_rocclr_initHeap is enqueued followed by actual kernel . So kernel will execute after initHeap kernel.

But with graph optimizations during capture initHeap gets enqueued on device null stream and actual kernel on graph launch stream.
So no proper synchronization. Switch to command creation and enqueue during launch for kernel node with hidden heap.

Change-Id: Iaf600251faef9a448853f19429023c118aa760b9


[ROCm/clr commit: 2dc6ec68a5]
2024-02-27 13:11:31 -05:00
kjayapra-amd d30e344ae0 SWDEV-446959 - Check fatbinaryinfo for nullptr and return hipErrorInvalidDevice.
Change-Id: Iabc0d8b66ddf73a92e67dd469f1a8bc0b54b9309


[ROCm/clr commit: 8a715ba58c]
2024-02-23 14:45:43 -06:00
Satyanvesh Dittakavi 0595e7c41f SWDEV-426272 - hipPointerGetAttribute shouldn't segfault when host ptr is passed
Check the pointer if its present in the arrayset before trying to dereference
it as it can cause access violation if the pointer is allocated using malloc

Change-Id: Ida72b9015dc22269fc1fbe0728e66e3de29fda3d


[ROCm/clr commit: 821ae6a103]
2024-02-21 16:37:21 +00:00
Ioannis Assiouras 80ddb8e4eb SWDEV-446399 - Fixed segfault in hipMemSetAccess
Change-Id: Ia1200d9bee03e8abade211287505f081e635ceec


[ROCm/clr commit: 1f6d416684]
2024-02-20 18:51:05 -05:00
Saleel Kudchadker ec59b1bc3e SWDEV-443760 - Enable device kern args
- Implement workaround to ensure HDP writes are done by writing and
reading the HDP MMIO register.
- Implement the same workaround for graphs, we no longer need sentinel
write/readback

Change-Id: I0d3027b46a1f61131ec62e3c8c669ff5184fa6b2


[ROCm/clr commit: f138e0d113]
2024-02-20 02:03:14 -05:00
Saleel Kudchadker 6383be514b SWDEV-301667 - Cleanup code and better log
Change-Id: Ie2345264e84026156a9f81b421eed3cf4aeeeffc


[ROCm/clr commit: 81b8598af9]
2024-02-19 05:42:47 -05:00
Anusha GodavarthySurya 80887e8559 SWDEV-444767 - Fix graph tests for context change between Inst & launch with DEBUG_CLR_GRAPH_PACKET_CAPTURE
When graph is Instantiate on device 0 graph and launch on device1 switch to command creation and enqueue during launch.

Change-Id: Ied34dc99b2a776130d1354ed3830c6ccab9068e4


[ROCm/clr commit: 7d09e1abed]
2024-02-14 17:02:36 +00:00
Jaydeep Patel 97ad1412ea SWDEV-445539, SWDEV-445549 - Restore kernel launch prof data.
Issue is due to INIT_hipLaunchKernel_CB_ARGS_DATA turns out to be empty when we generate new hip_prof_str.h with since
extra space introduced by https://gerrit-git.amd.com/c/compute/ec/clr/+/846275/77/hipamd/src/hip_module.cpp#667

Change-Id: Id251956c1663483cc7ab11a3722769cb5b0d3664


[ROCm/clr commit: d1b75659f2]
2024-02-14 00:05:41 -05:00
Ilya Panfilov 34cfbb5751 SWDEV-438299 - Remove unused variables
Change-Id: Id2908fe851d566ec2515161090f1e21b60cf6447


[ROCm/clr commit: 243555959f]
2024-02-13 19:39:11 -05:00
German Andryeyev c9bace9b71 SWDEV-311271 - Fix Windows mempool management
Windows path still uses multi threading implementation. Hence, in graphs
all nodes are executed in a queue thread and that requires to manage
mempool in the queue thread. However, the spec allows to destory memory,
allocated in a graph, outside of the graph's execution. That may cause
mempool management to go out of sync.

Change-Id: I0ffb2244b3cb720455ed44d1b3e2487fa8959a77


[ROCm/clr commit: 4f6b0da028]
2024-02-13 17:16:06 -05:00
Anusha GodavarthySurya 2c045d12ee SWDEV-445013 - During CaptureAQLPackets correct sentinal value to copy integer size bytes
Read and write int bytes sentinal value to dev_ptr or PCIE connected devices at the tail end of the kernarg surface.

Change-Id: I993d552ac872b3cd56aef4746c4d1d92c58d38b4


[ROCm/clr commit: 853abeb75e]
2024-02-13 07:05:57 +00:00
Ioannis Assiouras eb5d8d2647 SWDEV-445576 - Return error when hipMemPoolDestroy is invoked on the default mempool
Change-Id: I7a7ab499f781cf7e92cad1ae39a40b4f37f62653


[ROCm/clr commit: 4d61237a6f]
2024-02-12 12:48:21 +00:00