USM P2P#

Warning

Experimental features:

  • May be replaced, updated, or removed at any time.

  • Do not require maintaining API/ABI stability of their own additions over time.

  • Do not require conformance testing of their own additions.

Terminology#

“Peer to peer” (“P2P”) is used to indicate a “command” device either accessing or copying the memory located on a separate “peer” device.

Motivation#

Programming models like SYCL or OpenMP aim to support several important projects that utilise fine-grained peer-to-peer memory access controls. This experimental extension to the Unified-Runtime API aims to provide a portable interface that can call appropriate driver functions to query and control peer memory access within different adapters such as CUDA, HIP and Level Zero.

Support#

Adapters which support this experimental feature must return the valid string defined in UR_USM_P2P_EXTENSION_STRING_EXP as one of the options from urDeviceGetInfo when querying for UR_DEVICE_INFO_EXTENSIONS.

Changelog#

Revision

Changes

1.0

Initial Draft

1.1

Added USM_P2P_EXTENSION_STRING_EXP ID Macro

1.2

Switch Info types from uint32_t to int

Contributors#