Commit 0ea67b5
IPC Mempool Serialization and multiprocessing Module Support (#1020)
* Restructures IPC mempool tests into a subdirectory.
* Simplify the IPC interface, adding create_ipc_channel and import_/export methods.
* Simply the interface to IPCBufferTestHelper.
* Adds more tests.
* Removes sequence forms of certain function (exception behavior was unclear). Added a test for an error case.
* Changes channel methods export/import_ to send_buffer/receive_buffer, for clarity.
* Implement serialization methods for Device, Buffer, and DeviceMemoryResource. Add tests for buffer IPC through serialization.
* Protects serialization where needed to avoid resource leaks. Adds a registry from imported memory resources so that buffers can be serialized using an mr key. Test updates.
* Add tests for leaked file descriptors and fix leaks.
* Eliminates IPCChannel.
* Changes DeviceMemoryResource remote_id to uuid.
* Embeds the memory resource UUID into allocation handles.
* Minor changes to address feedback.
* Removes obsolte tests. Moves imports to nested contexts.
* Removes pickling for Device objects. Registers the pickle method with multiprocessing instead.
* Updates register function to return registered object. Avoids possible early deregistration.
* Renames Buffer import_/export methods.
* Moves AllocationHandle serialization to a registration with multiprocessing, since it depends on DupFd.
* Use DeviceMemoryResourceOptions throughout tests.
* Merged tests/memory_ipc/conftest.py into tests/conftest.py because certain configurations could not resolve it consistently.
* Makes the psutil module an optional dependency for testing.
* Bump the child timeout for IPC tests.
* Add docstrings. Change is_imported to is_mapped. Register DeviceMemoryResource reduction with multiprocessing. Add a quick exit to from_allocation_handle. Simplify the worker pool tests based on the new reduction method.
* Remove call to set_current in Device reconstruction. Add device set-up to tests.
* fix docstring rendering
---------
Co-authored-by: Leo Fang <leof@nvidia.com>1 parent 86f8587 commit 0ea67b5
File tree
15 files changed
+1144
-285
lines changed- cuda_core
- cuda/core/experimental
- docs/source
- tests
- memory_ipc
15 files changed
+1144
-285
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1160 | 1160 | | |
1161 | 1161 | | |
1162 | 1162 | | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
1163 | 1166 | | |
1164 | 1167 | | |
1165 | 1168 | | |
| |||
0 commit comments