Commit Graph

120 Commits

Author SHA1 Message Date
Anusha GodavarthySurya ece7fa9f76 SWDEV-454247 - Fix graph multi threading issue
Change-Id: I565889da6f7091030b7f6a2d6234b82c389358e3


[ROCm/clr commit: de95625f09]
2024-05-28 06:28:17 +00:00
Saleel Kudchadker 588e870000 SWDEV-301667 - Pass reference to kernel name
Change-Id: I21abe109ddfabfe7640bf78a96c81a1317d31952


[ROCm/clr commit: 4a9d24a211]
2024-05-05 16:38:20 -04:00
Saleel Kudchadker 0cf1f056a7 SWDEV 301667 - Fix Debug dot print for graphs
- Fix possible buffer overflow for long kernel names

Change-Id: I3c51669de7ff242d03f9210ee045b6d5e7ac274a


[ROCm/clr commit: f1ef05b121]
2024-04-30 12:26:10 -04:00
German Andryeyev d1507ad475 SWDEV-353281 - Align VA size
Lower layer ignores alignment

Change-Id: If16df951ecefddc804a6effe013058afc595d30f


[ROCm/clr commit: 5c23440199]
2024-04-24 15:22:20 -04:00
Rahul Manocha 85a372e4eb [SWDEV-454661][SWDEV-454653] - GraphExecMemcpyNodeSetParam to return error on memcpy direction change
Change-Id: I2c8f5ea394caeaaa6895003e63cd62a052c491f8


[ROCm/clr commit: 880963346d]
2024-04-23 12:56:30 -04:00
Ioannis Assiouras 2f430138c5 SWDEV-451594 - Implement Readback and Avoid HDP Flush workaround for device kernel args
Change-Id: I6d41a089a17f55306e7ff402588a1e831b20a7a7


[ROCm/clr commit: bf74ef4025]
2024-04-19 09:29:20 -04:00
Anusha GodavarthySurya b77908a819 SWDEV-450053 - Handle MemcpyNodeSetParamsTo/FromSymbol negative parameters
For all windows allocation on SVM memory tagged with flag ROCCLR_MEM_INTERPROCESS.
hipHostMalloc validation is based on flag. So remove ROCCLR_MEM_INTERPROCESS before check.

Change-Id: I823bbf228d9a4a9acb4abffc01ac6b3f544c6e12


[ROCm/clr commit: 8179fa98a2]
2024-04-18 05:39:35 -04:00
Jaydeep Patel 3dae883e73 SWDEV-453535 - Capture hipMemset3DAsync.
Change-Id: I517c2557573db258b3e3e353f02f6a56652b0fde


[ROCm/clr commit: 12e0bdcd32]
2024-04-18 00:05:45 -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
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
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
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
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
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
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 3cad2e16f6 SWDEV-444558 - SWDEV-444418 - Fix capturing of AQL packets when kernel arg size is 0
When graph doesn't have kernel nodes.

Change-Id: I6b3b476654d7eedc9ff0cec4b7269168aa115360


[ROCm/clr commit: ca0b50c9ca]
2024-02-08 06:12:16 +00:00
Anusha GodavarthySurya daf22604af SWDEV-439637 - Updated to compile with clang compiler
Change-Id: Ib0a8e1cc007f083fb1d1f4363cf89ba76ad3c4f2


[ROCm/clr commit: a1b2cbe44e]
2024-02-06 23:57:13 -05:00
Anusha GodavarthySurya 3dc533e1e1 SWDEV-439628 - hipGraphExecKernelNodeSetParams to update graph kernel node params with graph performance optimizations.
During hipGraphExecKernelNodeSetParams kernel function can also be updated.
Hence size required for kernel parameters differs from what is allocated during graphInstantiation.
So, create new 128KB kernel pool and allocate kernel args from the pool.
If the pool is full create new 128KB pool. Release kernel pools when graph exec object is destroyed.

Change-Id: I9567946d63400c79cbfd4c5439c654c92557ceae


[ROCm/clr commit: e9957151f3]
2024-02-05 05:08:11 +00:00
Rahul Manocha 3b42f3c995 SWDEV-421025 - Graph Kernel Node priority Attribute Set/Get
Change-Id: I5c422728aa694c8dabb5cf9bade441101512a249


[ROCm/clr commit: f40c380cdb]
2024-01-17 12:44:35 -05:00
sdashmiz 29eba6df09 SWDEV-421027 - Add hipGraphAddNode
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ic8cf293ff483ee2547b52d2975062bcb9a6f5d17


[ROCm/clr commit: d23835ffbe]
2024-01-12 11:36:30 -05:00
sdashmiz 57c0674538 SWDEV-403382 - Add missing graph APIs
- add external semaphor signal and wait node

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


[ROCm/clr commit: 087767d9ac]
2024-01-09 14:19:50 -05:00
kjayapra-amd 9a53a2bec3 SWDEV-413997 - Fixing MGPU cases on PAL side by passing Global Context to virtual alloc.
Change-Id: I6614058d1456d199d710b12acd95160a79aa48c8


[ROCm/clr commit: ec010e4d2d]
2023-12-14 11:34:32 -05:00
sdashmiz 5e1985996c SWDEV-421021 - Add hipDrvmemsetnode for graph
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I0240a162a16e61549d46b5d086c831404550e833


[ROCm/clr commit: b8e820f835]
2023-12-13 09:30:36 -05:00
Saleel Kudchadker f969d89aa4 SWDEV-301667 - Logging refactor
- Remove newline from logging as log function internally inserts a new
line

Change-Id: I25eb2242a1f1e87cf811bcc373d1d485b2e027a8


[ROCm/clr commit: 058b2702db]
2023-12-07 12:12:57 -05:00
Saleel Kudchadker cb9a715e04 SWDEV-422207 - Report kernel names for activity profiling
- Report kernel names for optimized graph path
- Refactor code so that we store profiling info in Accumulate command

Change-Id: Ib97735a0239aeb9fc3a50a4bb7126dd0bcadc8af


[ROCm/clr commit: b056686607]
2023-11-15 14:38:07 -05:00
sdashmiz 9b297f0006 SWDEV-417075 - add hipDrvAddMemCpyNode
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ie631d7b1788f10171a29d463759a3cba3b2b2007

SWDEV-417075 - add hipDrvGraphAddMemcpyNode

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


[ROCm/clr commit: 9b567e1799]
2023-10-31 09:55:42 -04:00
Anusha GodavarthySurya d0b8c99103 SWDEV-422207 - Handle nonkernel nodes for graph opt
- Support graph with different types of nodes with single
branch when DEBUG_CLR_GRAPH_PACKET_CAPTURE flag is enabled

Change-Id: I149a8629769cd0d5849ffefb04f1352668a685b6


[ROCm/clr commit: 38d2c56784]
2023-10-24 18:36:06 +00:00
Saleel Kudchadker cba9970220 SWDEV-408180 - Address possible cornercases
- Address corner cases that can arise with the new
hipMemcpyDeviceToDeviceNoCU enum
- Better log

Change-Id: I6035b901f8d616741054b7a5ff4f67956329ac57


[ROCm/clr commit: 5662d4037c]
2023-10-23 16:54:08 -04:00
Anusha GodavarthySurya 0404df28ef SWDEV-422207 - Capture AQL Packets for graph Kernel nodes during graph Inst. And enqueue AQL packet during launch
Change-Id: I1e5f7f9e2a70bd500d190193cb6ba0867f5a63e7


[ROCm/clr commit: e63c280d4d]
2023-10-05 00:34:29 -04:00
Satyanvesh Dittakavi be8dbcf736 SWDEV-375607 - Fix hipGraphExecUpdate behavior
Addresses the below scenarios like parameters mismatch
in memcopy node, difference in the count of nodes, difference
in the dependencies of the nodes.

Change-Id: I31c6516fb27cc1007809f1b50306fdb0c2356ccc


[ROCm/clr commit: f16d336e32]
2023-09-21 11:17:49 -04:00
Ioannis Assiouras a0ee7e2784 SWDEV-419996 - Allow both kernelParams and extra arguments to be set to null
When kernel function expects no parameters no error should be returned
if both kernelParams and extra arguments are set to null.

Change-Id: I5941bcc400b6fb380e623bdae0233ae3e4f73815


[ROCm/clr commit: 315082e554]
2023-09-07 12:57:46 -04:00
Saleel Kudchadker d7a63b9d66 SWDEV-301667 - Port optimization to save extra packet to graphs
Change-Id: Ibaf64a4efe070c42620e6e153c1862a4a0b15664


[ROCm/clr commit: e1e5d071ba]
2023-08-23 16:58:21 -04:00
Anusha GodavarthySurya b25939b4de SWDEV-415772, SWDEV-414682 - Fix childgraph node execution
Change-Id: If9ffc08d98a57b8daa5f131f72ef1bf2317f29e1


[ROCm/clr commit: f76a40c26d]
2023-08-18 00:45:00 -04:00
Anusha GodavarthySurya d8022cd081 SWDEV-407568 - Move graph implementation to hip namespace
Change-Id: I7023f202a7e3eb25b17db6d3e361205594ae81a5


[ROCm/clr commit: fd97dde1e6]
2023-07-26 06:52:45 +00:00
Anusha GodavarthySurya 57467ef2c7 SWDEV-392732 - Initial commit for graph doorbell optimization(AQL Buffering)
Change-Id: I451725006c54c249dc530c55d2af2a31594bf49b


[ROCm/clr commit: b0e6f99ad7]
2023-07-16 07:56:00 -04:00
Jaydeep Patel 621b266d71 SWDEV-401781 - Auto Clean removes from map so check before remove while submit mem alloc node command.
Change-Id: Id004f75b307c2c769dee556c3d18e781830bcae1


[ROCm/clr commit: a8164d3e12]
2023-06-29 02:29:01 -04:00
sdashmiz 2e960fae8f SWDEV-403063 - Clean up hip graph
- Replace dynamic allocation with embedded struct in hip graph

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


[ROCm/clr commit: cc85289739]
2023-06-15 12:17:09 -04:00
sdashmiz a88c64f86d SWDEV-367877 - Detect cycle in graph
- detect cycle when graph is instantiated

- remove level calculation from add/remove node

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

graph-cycle-corrections

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


[ROCm/clr commit: 8578da8a3d]
2023-05-18 09:44:39 -04:00
German 8d97827417 SWDEV-353281 - VM support in mempool for graphs
The change enables VM support in graphs on Windows. That allows
to avoid caching of all allocations at the cost of map/unmap
overhead during memory create/destroy.

Change-Id: I792be00fba099e5e5d3cd44a963e1dfd6976a86d


[ROCm/clr commit: 04b696abee]
2023-05-05 15:31:26 -04:00
Jaydeep Patel 6b364523bd SWDEV-389647 - SWDEV-388950 - Check device id same while set params.
GraphMemcpyNodeSetParamsFrom/ToSymbol APIs neew to check device id for
original src/dst is same as what is passed in while set.

Change-Id: If0b610808223dce9115562bb5e9b31c8eaa2df22


[ROCm/clr commit: b6aa27d4a3]
2023-04-25 13:24:26 -04:00
Jaydeep Patel 2536d245f6 SWDEV-388943,SWDEV-388954 - Corrected validations for memcpy kind.
Change-Id: I8338111ac46e4eba279d53969d12df3a23552049


[ROCm/clr commit: 2576153acd]
2023-04-19 01:00:50 -04:00
Jaydeep Patel e257db8ba7 SWDEV-388958 - SWDEV-388929 - Kind can be hipMemcpyDefault for H2D and D2D and srcMemory can be allocated using hipHostMalloc for H2D.
Change-Id: I187ff850ebb890b357ee03500105b71468508ea2


[ROCm/clr commit: 7215451db9]
2023-04-19 01:00:28 -04:00
German 56dedad98b SWDEV-380703 - sync all streams individually
Avoid syncing blocking streams with the default stream,
since that introduces extra command dependencies and
doesn't allow to destroy memory after last submission

Change-Id: I618e9bd2091c4cf9157125612d8c4759030c5a80


[ROCm/clr commit: 1e88d2c52f]
2023-04-05 16:37:49 +00:00
Ajay b997937c50 SWDEV-384184 - hipGraphKernelNodeSetAttribute negative scenarios
Hardcoding check for accessPolicyMaxWindowSize
since its returned from Hardware thats not available yet

Change-Id: I3a09fc9ace3027c7d5533bbbc7da5e18f43591ec


[ROCm/clr commit: c603d5004a]
2023-04-05 16:37:04 +00:00
Jaydeep Patel 37d76bc6a6 SWDEV-388942 - hipGraphMemsetNodeSetParams & hipGraphExecMemsetNodeSetParams differs in validation as per cuda.
Change-Id: Ie013aa5e94e8c468d949797890fb6b629e97a323


[ROCm/clr commit: 17553de9b7]
2023-04-05 10:54:22 +00:00
Jaydeep Patel 90a00bc681 SWDEV-388926 - Original and new memory should be from same device for hipGraphExecMemsetNodeSetParams.
Change-Id: I32bd56db0b80d748e3ae0737a38ea975738bdab7


[ROCm/clr commit: ec227d560a]
2023-04-05 10:54:10 +00:00
sdashmiz ddf76371e6 SWDEV-386685 - return proper error
- if graph is already instantiated there cant be a second instance in
  case nodes are free or alloc

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


[ROCm/clr commit: f6c36be185]
2023-04-05 10:53:51 +00:00
sdashmiz 7528052a8f SWDEV-377862 - kind does not show on dotprint
- for to/from symbols nodes the correct kind is not showing

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


[ROCm/clr commit: ae631aaa32]
2023-03-10 16:39:07 -05:00