From dc8edb3309548213b4bd40dcbc1340a256c18273 Mon Sep 17 00:00:00 2001 From: "Gainullin, Artur" Date: Tue, 23 Jun 2026 10:44:31 -0700 Subject: [PATCH 1/4] [SYCL][Doc] Update sycl_ext_oneapi_register_host_memory spec --- .../sycl_ext_oneapi_register_host_memory.asciidoc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc b/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc index c1894c84cbb62..0d49cbfb94263 100644 --- a/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc +++ b/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc @@ -173,6 +173,15 @@ is required even when the native backend would accept a less restrictive alignment, and the implementation does not implicitly round the base address or size. _{endnote}_] +[_Note:_ This extension defines registration in terms of the properties of the +host virtual address range, not the mechanism used to allocate or map the +memory. For example, the range is not required to come from a C or C++ +allocator. It may come from heap allocation, static storage, automatic storage, +anonymous memory mapping, file-backed memory mapping, or huge-page mapping, +provided the range satisfies the requirements above and can be registered by the +implementation. This extension does not guarantee support for every +operating-system mapping type, protection mode, or backing object. _{endnote}_] + ''' [source,c++] From 00ff267fa9016bcb11918b68d44f89f77fd626e7 Mon Sep 17 00:00:00 2001 From: "Gainullin, Artur" Date: Tue, 23 Jun 2026 10:44:31 -0700 Subject: [PATCH 2/4] [SYCL][Doc] Update sycl_ext_oneapi_register_host_memory spec --- .../sycl_ext_oneapi_register_host_memory.asciidoc | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc b/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc index 0d49cbfb94263..b036a107db62d 100644 --- a/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc +++ b/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc @@ -134,6 +134,12 @@ _Preconditions:_ and the range `[ptr, ptr + numBytes)` remains valid and mapped at the same host virtual address from this call until the matching call to `unregister_host_memory` returns. +* The memory range has one of the following storage durations: heap + (dynamically-allocated), automatic (stack), or static (global) storage. [ + _Note:_ Support for memory obtained by other means, such as anonymous or + file-backed memory mappings or huge-page mappings, is platform- and + implementation-dependent and is not guaranteed by this extension. + _{endnote}_] * `ptr` is aligned to the host page size, and `numBytes` is a non-zero multiple of the host page size. * The range `[ptr, ptr + numBytes)` does not overlap any range that is @@ -173,15 +179,6 @@ is required even when the native backend would accept a less restrictive alignment, and the implementation does not implicitly round the base address or size. _{endnote}_] -[_Note:_ This extension defines registration in terms of the properties of the -host virtual address range, not the mechanism used to allocate or map the -memory. For example, the range is not required to come from a C or C++ -allocator. It may come from heap allocation, static storage, automatic storage, -anonymous memory mapping, file-backed memory mapping, or huge-page mapping, -provided the range satisfies the requirements above and can be registered by the -implementation. This extension does not guarantee support for every -operating-system mapping type, protection mode, or backing object. _{endnote}_] - ''' [source,c++] From c4003864e820f4a26109fe601cc511c9440ee7b2 Mon Sep 17 00:00:00 2001 From: Artur Gainullin Date: Thu, 25 Jun 2026 08:45:36 -0700 Subject: [PATCH 3/4] Update sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc Co-authored-by: Greg Lueck --- .../proposed/sycl_ext_oneapi_register_host_memory.asciidoc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc b/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc index b036a107db62d..ce92eaca1793e 100644 --- a/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc +++ b/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc @@ -135,8 +135,9 @@ _Preconditions:_ host virtual address from this call until the matching call to `unregister_host_memory` returns. * The memory range has one of the following storage durations: heap - (dynamically-allocated), automatic (stack), or static (global) storage. [ - _Note:_ Support for memory obtained by other means, such as anonymous or + (dynamically-allocated), automatic (stack), or static (global) storage. ++ + [_Note:_ Support for memory obtained by other means, such as anonymous or file-backed memory mappings or huge-page mappings, is platform- and implementation-dependent and is not guaranteed by this extension. _{endnote}_] From 4a4cb3b0deaa805f9fc04a8f75b9a8aa548d6504 Mon Sep 17 00:00:00 2001 From: "Gainullin, Artur" Date: Thu, 25 Jun 2026 09:46:00 -0700 Subject: [PATCH 4/4] Fix --- .../sycl_ext_oneapi_register_host_memory.asciidoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc b/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc index ce92eaca1793e..e4b3814895ea4 100644 --- a/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc +++ b/sycl/doc/extensions/proposed/sycl_ext_oneapi_register_host_memory.asciidoc @@ -137,10 +137,10 @@ _Preconditions:_ * The memory range has one of the following storage durations: heap (dynamically-allocated), automatic (stack), or static (global) storage. + - [_Note:_ Support for memory obtained by other means, such as anonymous or - file-backed memory mappings or huge-page mappings, is platform- and - implementation-dependent and is not guaranteed by this extension. - _{endnote}_] +[_Note:_ Support for memory obtained by other means, such as anonymous or +file-backed memory mappings or huge-page mappings, is platform- and +implementation-dependent and is not guaranteed by this extension. +_{endnote}_] * `ptr` is aligned to the host page size, and `numBytes` is a non-zero multiple of the host page size. * The range `[ptr, ptr + numBytes)` does not overlap any range that is