Gráfico de commits

170 Commits

Autor SHA1 Mensaje Fecha
Rahul Manocha 1a3901fa49 SWDEV-421025 - hipGraphInstantiateWithParams API changes
Change-Id: Ib07d4dd1698220b68ed27f91d58d3bd315a8804c
2024-02-05 05:08:11 +00:00
Anusha GodavarthySurya e9957151f3 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
2024-02-05 05:08:11 +00:00
Anusha GodavarthySurya 0a055f874b SWDEV-422207 - Added debug env to dump graph during Instantiation
Change-Id: Ibde2ae5b8d240f3986bcd168facc513a319c0f17
2024-02-05 05:08:11 +00:00
Rahul Manocha f40c380cdb SWDEV-421025 - Graph Kernel Node priority Attribute Set/Get
Change-Id: I5c422728aa694c8dabb5cf9bade441101512a249
2024-01-17 12:44:35 -05:00
sdashmiz d23835ffbe SWDEV-421027 - Add hipGraphAddNode
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ic8cf293ff483ee2547b52d2975062bcb9a6f5d17
2024-01-12 11:36:30 -05:00
sdashmiz 087767d9ac SWDEV-403382 - Add missing graph APIs
- add external semaphor signal and wait node

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: If205d48bc4fb60ce2966ca6ed0419e7700755bdd
2024-01-09 14:19:50 -05:00
Anusha GodavarthySurya 2bb2446d8f SWDEV-422207 - Fix graph catch tests with graph optimizations(DEBUG_CLR_GRAPH_PACKET_CAPTURE enabled)
Change-Id: I16297e0ddde286bf1798c90f2bf846e69819010d
2023-12-14 01:27:08 -05:00
sdashmiz b8e820f835 SWDEV-421021 - Add hipDrvmemsetnode for graph
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I0240a162a16e61549d46b5d086c831404550e833
2023-12-13 09:30:36 -05:00
Anusha GodavarthySurya 5e21f0c6bd SWDEV-351966 - Dispatch table for hip runtime
Change-Id: Ie4a44fa8cf1ff9c152146070bbbf6b0636d4e325
2023-11-22 01:11:19 -05:00
sdashmiz 9b567e1799 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
2023-10-31 09:55:42 -04:00
sdashmiz c089ef4a2b SWDEV-332969 - [ABI Break]Substitute hipArray* with hipArray_t
- hipArray will be an internal struct from rocm6.0

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Icf97fe96b87be8532098cd7f9ceaad099f99c9b9
2023-10-12 12:09:19 -04:00
Anusha GodavarthySurya e63c280d4d SWDEV-422207 - Capture AQL Packets for graph Kernel nodes during graph Inst. And enqueue AQL packet during launch
Change-Id: I1e5f7f9e2a70bd500d190193cb6ba0867f5a63e7
2023-10-05 00:34:29 -04:00
Satyanvesh Dittakavi f16d336e32 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
2023-09-21 11:17:49 -04:00
Ioannis Assiouras 315082e554 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
2023-09-07 12:57:46 -04:00
Ioannis Assiouras 2bc6661737 SWDEV-420222 - Removed implementation of hipMemcpyArray functions
hipMemcpyArrayToArray, hipMemcpyFromArrayAsync, and hipMemcpyToArrayAsync
are deprecated in cuda and are missing the headers in hip_runtime_api.h.
Removed their implementation from hip_memory.cpp.

Change-Id: I9720aec6241515c56c66b7e90a37b2ed53347eb2
2023-09-04 13:35:08 +01:00
Jaydeep Patel d2655d84fd SWDEV-375596 - Device context should not be changed while graph exec update for graph nodes other than empty and host node.
Change-Id: I89d734b111aae5b042386175d2786ce9002771b9
2023-08-27 22:58:32 -04:00
Saleel Kudchadker e1e5d071ba SWDEV-301667 - Port optimization to save extra packet to graphs
Change-Id: Ibaf64a4efe070c42620e6e153c1862a4a0b15664
2023-08-23 16:58:21 -04:00
Anusha GodavarthySurya f76a40c26d SWDEV-415772, SWDEV-414682 - Fix childgraph node execution
Change-Id: If9ffc08d98a57b8daa5f131f72ef1bf2317f29e1
2023-08-18 00:45:00 -04:00
Anusha GodavarthySurya fd97dde1e6 SWDEV-407568 - Move graph implementation to hip namespace
Change-Id: I7023f202a7e3eb25b17db6d3e361205594ae81a5
2023-07-26 06:52:45 +00:00
Jatin Chaudhary b67d055eb6 SWDEV-412457 - remove unused header, add correct header for cpp
Change-Id: I2192daec7c033e94097c26db6177e14558a8728d
2023-07-21 11:30:59 -04:00
sdashmiz 1e9dfdfe99 SWDEV-360031 - Event record clean up
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ic7b5edd501c5f61b2bce87252ac040cbc4083006
2023-05-29 11:42:16 -04:00
sdashmiz 8578da8a3d 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
2023-05-18 09:44:39 -04:00
German 04b696abee 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
2023-05-05 15:31:26 -04:00
Jaydeep Patel b6aa27d4a3 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
2023-04-25 13:24:26 -04:00
Jaydeep Patel 3c5888922e SWDEV-389648 - Find node and then erase.
Change-Id: Iecf78fe6b0645e58b4de6658b59ad1285946b698
2023-04-19 01:05:58 -04:00
Jaydeep Patel ec227d560a SWDEV-388926 - Original and new memory should be from same device for hipGraphExecMemsetNodeSetParams.
Change-Id: I32bd56db0b80d748e3ae0737a38ea975738bdab7
2023-04-05 10:54:10 +00:00
sdashmiz 8c62a616a2 SWDEV-388937 - fix removing a node
- before removing node from graph all edges should be removed and rest
  of graph updated

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ide0afcc964f87f13cf407c971e22497433e3b1ed
2023-04-05 10:54:01 +00:00
sdashmiz f6c36be185 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
2023-04-05 10:53:51 +00:00
sdashmiz 3a45a965e2 SWDEV-386695 - fix param sanitization check
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I1317640453d56718fa41f455c512282fd0f01e2a
2023-04-05 10:53:42 +00:00
Sourabh Betigeri 7809d2846b SWDEV-387810 - Fixes to verify if the current stream matches the capture stream
- invalid to synchronize or query the execution status of a capturing stream but non-capturing streams can.

- If any local thread has an ongoing or concurrent capture sequence initiated with hipStreamCaptureModeGlobal, it is prohibited from unsafe calls

Change-Id: Ifa641e807216d3b7c3e8c2fb1be2f7a50bd641df
2023-04-05 10:53:33 +00:00
Ioannis Assiouras e6520ddf8a SWDEV-388278 - Fix return HIP_RETURN(x)
Change-Id: I940ee3660a2427eade8690a9318966fb04a1fbe8
2023-03-13 13:32:55 +00:00
Sourabh Betigeri ec8ab9b29c SWDEV-385089 - Fixes hipGraphLaunch functionality accounting for the existence of MemFree node or already freed memory when the same graph is launched multiple times
Change-Id: I49beb49ad4e6db4a2dd5b8c8cc8ed11ff0e4e132
2023-03-09 21:10:13 -05:00
Ioannis Assiouras 58e05898d1 SWDEV-386926 - Added check for correct node type in hipGraphMem[Alloc/Free]NodeGetParams
Change-Id: Ic8446210a683d1329391288d0ed99d835c5aa140
2023-03-09 20:05:28 -05:00
Ioannis Assiouras 9e1e3035ec SWDEV-387383 - Changed error message in hipDevice[Get/Set]GraphMemAttribute to match cuda
Change-Id: I34a9f3d8572e004ae3d25ef25a4d404bea6d9597
2023-03-09 11:53:15 -05:00
Jatin Chaudhary 7715b3b398 SWDEV-386435 - Add checks for memfree graph node
Change-Id: I8eab93046723f0fdc01f95e3bfb9071d84eb2e18
2023-03-03 04:33:49 -05:00
sdashmiz a69db9b426 SWDEV-382838 - inetrmittent failure
- test fails intermittently because object is not cleared correctly

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I88daf3dc08bb83d6d3f047ff48a63c8f856fb0bf
2023-02-27 16:23:04 -05:00
German Andryeyev 314bdba632 SWDEV-353281 - Add support for MemPool in graphs
Implement hipDeviceGetGraphMemAttribute, hipDeviceSetGraphMemAttribute
and hipDeviceGraphMemTrim

Change-Id: I4f8fc1250ce1e8b7636d43d59ba7343158e45088
2023-02-23 12:49:53 -05:00
Jaydeep Patel f9e27bcdd4 SWDEV-377804 - Initial commit to support hipGraphInstantiateFlagAutoFreeOnLaunch
Change-Id: I7a35becb6c98a6ff70264e141317d98be7457a37
2023-02-01 11:51:39 -05:00
sdashmiz 34d087da93 SWDEV-361623 - correct remove edge behaviour
- remove node dependency before checking parents
- reduce edge level acording to new value of node

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Id4bff1684f7e0b42beeebc4d2e009bfdb507fb5f
2023-01-31 12:48:59 -05:00
sdashmiz b251c8fdb2 SWDEV-374368 - dependency list should not have duplicate
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I67e1c8203f10916b98408e2004e6c64e96b1933b
2023-01-30 10:28:35 -05:00
sdashmiz 23edcd3e23 SWDEV-374389 - correct update dependency behaviour
- nodes should belong to graph
- num of passed dependency cant be larger than graph nodes

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ia6f2283546bc44edee705b0483bfe506b7b1177a
2023-01-30 10:05:52 -05:00
pghafari d491ee7385 SWDEV-374381 - updated error check
for hipGraphAddMemcpyNodeFrom/ToSymbol

Change-Id: I4de063a5a9307148bf4da0e8a2edc1d3b01a8b9a
2023-01-18 19:59:32 -05:00
Anusha GodavarthySurya d422ad0ec1 SWDEV-376407 - Track manual nodes added during capture
Change-Id: Ic44f842c303eed0eff08b6ee5922976d96a52c71
2023-01-18 03:27:41 -05:00
pghafari 236a725d67 SWDEV-374380 - hipGraphAddMemcpyNode1D errorCheck
Change-Id: I50501de139e3898783c1cc9c91c5ed3ed2564f3b
2023-01-17 07:49:23 -05:00
sdashmiz be966acb0c SWDEV-360031 - check for stream capture finish.
- stream capture should be done before any sync APIs.

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I3d65f67ee68777be71f97f48d460ccaefdd4e1af
2023-01-16 13:09:24 -05:00
German Andryeyev eef47ca24a SWDEV-353281 - Initial support of memalloc in graph
Add memory allocation support in graph. Current implementation uses
cache from mempool  to hold the allocations which belong to the graph.
Also the resource tracking is disabled at this moment because mempool
operates with hip::Stream objects, but graph has execution with
amd::HostQueue objects.

Change-Id: I54fe3250126d24f5a26ada975f37d429bb4ef17b
2023-01-13 13:06:59 -05:00
Rakesh Roy a427d3cd10 SWDEV-374369 - Fix hipGraphAdd*Node* APIs invalid behavior
- Return hipErrorInvalidValue if dependencies array contains a node from
  different graph

Change-Id: I0dcfaaaeb50a89848ac546a0b86b185977e2128c
2023-01-13 12:09:42 -05:00
Jaydeep Patel bb486b04c6 SWDEV-374383 - Check from and to if no of dependencies are more than 0, Check from and to node are belongs to graph pass in.
Change-Id: I0cdafb497147f9ac7f84d40203a21e9eefd595a3
2023-01-11 11:43:22 -05:00
Jiabao Xie 03200953e5 SWDEV-374375 - moving nullptr check into hipGraphNode::isValidNode
Change-Id: Ic9264521d6f0b36ffc948ca9feeaa70eb6e98eb6
2023-01-09 16:27:38 -05:00
Jiabao Xie e5490697cc SWDEV-374375 - Added checks to see if hip graph nodes are valid
Change-Id: I9e6eabf0e4a9100de6f9d26bf5b815957f12d4f2
2023-01-06 16:58:56 -05:00