cuda-python icon indicating copy to clipboard operation
cuda-python copied to clipboard

Mempool memory resource - IPC

Open keenan-simpson opened this issue 11 months ago • 14 comments

This is ready for at least a first look

Add Mempool class as the first public MemoryResource implementation. It supports IPC.

Add IPC buffer which is an internal buffer implementation used to represent a buffer descriptor which is used to export and import buffers across process boundaries. It implements reduce which is expected by common multiprocessing libraries. It's use is seen in the tests added to this review.

keenan-simpson avatar Feb 12 '25 19:02 keenan-simpson

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

copy-pr-bot[bot] avatar Feb 12 '25 19:02 copy-pr-bot[bot]

/ok to test

keenan-simpson avatar Feb 12 '25 19:02 keenan-simpson

/ok to test

keenan-simpson avatar Feb 15 '25 00:02 keenan-simpson

Doc Preview CI :---: |

:rocket: View preview at
https://nvidia.github.io/cuda-python/pr-preview/pr-446/
|
https://nvidia.github.io/cuda-python/pr-preview/pr-446/cuda-core/
|
https://nvidia.github.io/cuda-python/pr-preview/pr-446/cuda-bindings/

|

Preview will be ready when the GitHub Pages deployment is complete.

github-actions[bot] avatar Feb 15 '25 00:02 github-actions[bot]

/ok to test

keenan-simpson avatar Feb 24 '25 18:02 keenan-simpson

/ok to test

keenan-simpson avatar Feb 24 '25 19:02 keenan-simpson

/ok to test

keenan-simpson avatar Feb 24 '25 19:02 keenan-simpson

/ok to test

keenan-simpson avatar Feb 24 '25 23:02 keenan-simpson

/ok to test

keenan-simpson avatar Feb 25 '25 17:02 keenan-simpson

/ok to test

keenan-simpson avatar Feb 25 '25 18:02 keenan-simpson

/ok to test

keenan-simpson avatar Feb 25 '25 18:02 keenan-simpson

/ok to test

keenan-simpson avatar Feb 26 '25 18:02 keenan-simpson

/ok to test

keenan-simpson avatar Mar 05 '25 18:03 keenan-simpson

I am tasked with adding the IPC mempool support for windows at the driver level (5151668), so I think we should roll with this implementation and have it pick up windows once that change is integrated. Users who need IPC on windows for older CTKs can implement their own MR or use the cuMemCreate & VMM API bindings. WDYT

keenan-simpson avatar Mar 06 '25 17:03 keenan-simpson

IPC support for Linux landed (https://github.com/NVIDIA/cuda-python/pull/930) 🎉 We'll revisit (and close) this PR when there's a viable path emerging for Windows counterpart (and preferably not through VMM #968) .

leofang avatar Sep 17 '25 23:09 leofang