USM P2P
Contents
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#
JackAKirk jack.kirk@codeplay.com