Skip to content

cuda.core: test VMM IPC under the forkserver start method #3111

Closed

Description

@Andy-Jost

The VMM IPC tests from #3028 run under spawn only (the test conftest forces it). forkserver is safe after CUDA initialization because the forkserver is a fresh interpreter and children fork from it, not from the parent. It is the default start method on Linux since Python 3.14.

popen_forkserver.Popen._launch collects file descriptors during pickling and sends them afterwards with connect_to_new_process(self._fds), the same way spawn does, so the get_spawning_popen() path in VirtualMemoryBuffer.__reduce__ should work there as well. Nothing confirms it yet.

Add a test that uses mp.get_context("forkserver") to pass a VirtualMemoryBuffer as a Process argument and through a Queue, and skip it where forkserver is unavailable (Windows).

Pointed out by @juenglin in #3028 (comment). #3110 would remove the Process special case altogether.

Activity

  1. added this to the cuda.core next milestone on Oct 14, 2026
  2. added
    enhancementAny code-related improvements
    P2Low priority - Nice to have
    on Oct 14, 2026
  3. self-assigned this
    on Oct 14, 2026
  4. added a commit that references this issue on Oct 16, 2026
    e957c5c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P2Low priority - Nice to havecuda.coreEverything related to the cuda.core moduleenhancementAny code-related improvements

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions