- 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]
Fix wrong logic to get layer index;
Make layered image's layout match cuda spec;
Fix wrong comparision of element size.
Remove amd::BufferRect from ihipMemcpyAtoHCommand()
and ihipMemcpyHtoACommand().
Change-Id: Icc6a4233fbce2e9b2dc6feb79e6bfbd761684c7d
[ROCm/clr commit: 5a0085e516]
Three for loops iterate over all graph nodes for UpdateStream, FillCommands and
EnqueueCommands has performance drop for large graphs.
Change-Id: I077accf3a4680d5d944b73200fd6498a7a48f25c
[ROCm/clr commit: 530dc6de2a]
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]
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]
- Intra device memcpy does not need to perform host side synchronization
- Check alloc flags when determining memory type
Change-Id: Ieff28bd8d62756ffe82905354c4a91e9717e6bd4
[ROCm/clr commit: dfefc97178]
- Use correct accessor to fetch memory objects. This checks the svm map
and arena maps
Change-Id: I84515330bb530cfe2b39abf30e1e659938f06806
[ROCm/clr commit: 8028d327e9]
- params should be valid when used for default flag since we support
unified virtual address space
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I75d40e437b12ee58e72e423bb4818b484ce35b66
[ROCm/clr commit: 5c5b220561]
MemPool was designed to use hip::Stream, but graph implementation uses
amd::HostQueue. Hence switch graph to hip::Stream management.
Change-Id: Ia319389de45e4c3c6043d17473279a6f27a13140
[ROCm/clr commit: 0fe03b6494]
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
[ROCm/clr commit: eef47ca24a]
For hipGraphKernelNode, remove func_;
and reorganize functions to naturely support mGPU;
For hipGraphMemcpyNode, make EnqueueCommands() support different
queues' sync
Change-Id: I22708923f454adf4456ff99d25559daffed8c20d
[ROCm/clr commit: f83ba8cd23]
Remove the api_callbacks_table_t that was holding the API activities and
user callbacks. Instead use a single roctracer callback (TracerCallback)
used to report both API activities and callbacks.
Remove the hipInitActivityCallback that was setting the ROCtracer
callback and memory pool for asynchronous activities as it did not
allow disctinct pools to be used for each activity. Instead, use
hipRegisterTracerCallback to set the single roctracer callback.
Change-Id: I4c10f04f29a6e4cce8caf15db3016c3f72c86b04
[ROCm/clr commit: 82bce811ee]
HIP_FORCE_QUEUE_PROFILING has been replaced by GPU_FORCE_QUEUE_PROFILING.
Change-Id: Ic8dec4407ef79c27094cb3954e48869075b4732f
[ROCm/clr commit: 97741fe5d4]
- add user obj APIs for creating release and retain of user onbjects
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I0bf2999c77e44269565b27c31c7c1461f8a160a2
[ROCm/clr commit: 2c010dec17]
- Memcpy1D node type is not complying with cuda
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: If8113f5e699de0c62d98effc4580a2e0fee9a950
[ROCm/clr commit: 13c875eaf0]
Fixes for hipGraphInstantiate OutofMemory issue and
soft hang of hipStreamSynchronize.
Change-Id: Ic2bb97582c5978ef2e4eb3a1b124483aa412838e
[ROCm/clr commit: c06bfa6bef]
This reverts commit 42be9301d1.
Reason for revert: hip changes not in yet
Change-Id: I89e35d171cf01fb82d361279998efcc90e54ef33
[ROCm/clr commit: 1965dd5795]