Skip to content

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

Open

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
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