Skip to content

Enable IPC events and update tests to test stream-ordered IPC #1040

Closed

Description

@leofang

We probably don't have time to cover it in cuda.core 0.4.0, but we need to at least confirm that a future inclusion does not break the new IPC APIs. If so, this is a blocking issue that must be resolved before code freeze.

Activity

  1. added this to the cuda.core beta 7 milestone on Sep 27, 2025
  2. added
    P0High priority - Must do!
    cuda.coreEverything related to the cuda.core module
    on Sep 27, 2025
  3. leofang commented on Oct 3, 2025

    @leofang
    MemberAuthor

    @Andy-Jost should prove me wrong, but I believe we already kept a door for this.

    • In the exporting process:
      • create an Event with the support_ipc flag set
      • call Event.to_ipc_descriptor() to have something that can be serialized and sent over to child
    • In the importing process:
      • call a new Event.from_ipc_descriptor() constructor to reconstruct an Event object

    The to/from methods are named in line with what we have for Buffer that's being modified in #1020.

    Andy, please confirm if my understanding is correct, and then I'll move this task to the next milestone/release.

  4. leofang commented on Oct 4, 2025

    @leofang
    MemberAuthor

    Discussed with Andy offline:

    • we agreed the above understanding is correct and there is no breaking change needed
    • we will change the event option from support_ipc to ipc_enabled to ensure consistent UX when we work on this task, while it might seem like a breaking change, it is not because it has never worked so far:
      if opts.support_ipc:
      raise NotImplementedError("WIP: https://github.com/NVIDIA/cuda-python/issues/103")

    Pushing this to the next cycle.

  5. changed the title [-]Ensure IPC events naturally fit in our current design[/-] [+]Enable IPC events and update tests to test stream-ordered IPC[/+] on Oct 4, 2025
  6. linked a pull request that will close this issueImplement IPC-enabled events. #1145on Oct 17, 2025
  7. leofang commented on Nov 3, 2025

    @leofang
    MemberAuthor

    It has come to my attention (#1209 (comment)) that our IPC tests still have room for (performance) improvement. For example, buffer comparison can be run asynchronously and on device, instead of synchronously and on host. I'll work on this.

  8. reopened this on Nov 3, 2025
  9. removed their assignment
    on Jan 20, 2026
  10. added
    P1Medium priority - Should do
    and removed
    P0High priority - Must do!
    on Feb 5, 2026
  11. Andy-Jost commented on Feb 12, 2026

    @Andy-Jost
    Contributor

    This was implemented in #1176 (originally #1145). IPC events are supported via EventOptions(ipc_enabled=True), with Event.get_ipc_descriptor() / Event.from_ipc_descriptor() for cross-process sharing, and stream-ordered IPC is tested in tests/memory_ipc/test_event_ipc.py.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P1Medium priority - Should docuda.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