Commit Graph

16 Commits

Author SHA1 Message Date
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
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
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 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
Ioannis Assiouras fb39e68de7 SWDEV-445221 - Fix the memory reported for hipMemPoolAttrReservedMemHigh
Change-Id: I894a836643612c73feb322f29a9236ada4d8cbda


[ROCm/clr commit: 5e6ad190ff]
2024-02-08 23:40:51 +00:00
German Andryeyev b8e7a858a5 SWDEV-311271 - Switch to sorted map for pool allocations
Sorted map can work much faster for many allocations and a low reuse frequency

Change-Id: I6dba29ebc8bfacdf34307149b6a2b194890b2932


[ROCm/clr commit: a1fffac595]
2024-01-03 17:36:05 -05:00
German Andryeyev 3a4261966c SWDEV-311271 - Release freed memory from MemPools
Runtime has to release extra memory, held by the pools,
in synchronization points for event, stream or device.

Change-Id: Id533a5e1d137812aa72bdfe101b4b333c6a43d66


[ROCm/clr commit: 3fa4e31180]
2023-12-19 13:47:04 -05:00
German af5944dc71 SWDEV-311270 - Add IPC support for memory pools
Initial implementation for hipMemPoolExportToShareableHandle,
hipMemPoolImportFromShareableHandle,
hipMemPoolExportPointer and hipMemPoolImportPointer

Change-Id: I0ebdc48e9163b394ded560adca6c38bbc5aee7d1


[ROCm/clr commit: 1a0c3e4dc4]
2023-06-15 11:36:52 -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
German Andryeyev 2e0fd95d74 SWDEV-353281 - Add support for MemPool in graphs
Implement hipDeviceGetGraphMemAttribute, hipDeviceSetGraphMemAttribute
and hipDeviceGraphMemTrim

Change-Id: I4f8fc1250ce1e8b7636d43d59ba7343158e45088


[ROCm/clr commit: 314bdba632]
2023-02-23 12:49:53 -05:00
Jaydeep Patel c6da0aa014 SWDEV-377804 - Initial commit to support hipGraphInstantiateFlagAutoFreeOnLaunch
Change-Id: I7a35becb6c98a6ff70264e141317d98be7457a37


[ROCm/clr commit: f9e27bcdd4]
2023-02-01 11:51:39 -05:00
German Andryeyev 9c811dc241 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


[ROCm/clr commit: eef47ca24a]
2023-01-13 13:06:59 -05:00
pghafari b0bc6d6c7e SWDEV-356549 - del Null strm in destroyAllStreams
Change-Id: Ie04172ee39e6333247d07791dffda753a8b9ef41


[ROCm/clr commit: a643c199de]
2022-12-29 15:45:54 -05:00
German Andryeyev a7d73a753d SWDEV-311271 - Enable MGPU support for memory pool
Change-Id: I36850de282d62139b5cfe342df97bb1204cb7869


[ROCm/clr commit: 8b132beb92]
2022-05-11 11:04:24 -04:00
German Andryeyev 3de1a9e36c SWDEV-311271 - Make sure memory pool can accept default stream
Add lock protection for access to the pool list.
Remove destroyed stream from the list of the safe streams

Change-Id: I1863b89bd3f5e188c161227cc790c3adaf72cc58


[ROCm/clr commit: 5957ff9f7b]
2022-04-18 10:34:21 -04:00
German Andryeyev e7d2493402 SWDEV-311271 - Initial mempool implementation
HIP_MEM_POOL_SUPPORT controls memory pool support in runtime.
Currently it's disabled by default. The initial change doesn't
include: IPC, MGPU, virtual memory alloc, suballoc, defragmentation,
internal dependencies.

Change-Id: Ibed8528ebec698b045ebb247e49c0ecd6e587ed7


[ROCm/clr commit: 539d264eb0]
2022-03-31 09:21:37 -04:00