diff --git a/sycl/doc/extensions/proposed/sycl_ext_oneapi_device_is_integrated.asciidoc b/sycl/doc/extensions/proposed/sycl_ext_oneapi_device_is_integrated.asciidoc new file mode 100644 index 0000000000000..844df7ba7e7b8 --- /dev/null +++ b/sycl/doc/extensions/proposed/sycl_ext_oneapi_device_is_integrated.asciidoc @@ -0,0 +1,121 @@ += sycl_ext_oneapi_device_is_integrated + +:source-highlighter: coderay +:coderay-linenums-mode: table + +// This section needs to be after the document title. +:doctype: book +:toc2: +:toc: left +:encoding: utf-8 +:lang: en +:dpcpp: pass:[DPC++] +:endnote: —{nbsp}end{nbsp}note + +// Set the default source code type in this document to C++, +// for syntax highlighting purposes. This is needed because +// docbook uses c++ and html5 uses cpp. +:language: {basebackend@docbook:c++:cpp} + + +== Notice + +[%hardbreaks] +Copyright (C) 2025 Intel Corporation. All rights reserved. + +Khronos(R) is a registered trademark and SYCL(TM) and SPIR(TM) are trademarks +of The Khronos Group Inc. OpenCL(TM) is a trademark of Apple Inc. used by +permission by Khronos. + + +== Contact + +To report problems with this extension, please open a new issue at: + +https://github.com/intel/llvm/issues + + +== Dependencies + +This extension is written against the SYCL 2020 revision 10 specification. +All references below to the "core SYCL specification" or to section numbers in +the SYCL specification refer to that revision. + + +== Status + +This is a proposed extension specification, intended to gather community +feedback. Interfaces defined in this specification may not be implemented yet +or may be in a preliminary state. The specification itself may also change in +incompatible ways before it is finalized. *Shipping software products should +not rely on APIs defined in this specification.* + + +== Overview + +This extension allows host code to check whether a physical device, represented +by a SYCL device, is integrated with the host. + + +== Specification + +=== Feature test macro + +This extension provides a feature-test macro as described in the core SYCL +specification. An implementation supporting this extension must predefine the +macro `SYCL_EXT_ONEAPI_DEVICE_IS_INTEGRATED` to one of the values defined in the +implementation supports this feature, or applications can test the macro's +value to determine which of the extension's features the implementation +supports. + +[%header,cols="1,5"] +|=== +|Value +|Description + +|1 +|The APIs of this experimental extension are not versioned, so the feature-test + macro always has this value. +|=== + +=== New device aspects + +This extension adds new device aspect: + +```c++ +namespace sycl { + +enum class aspect : /*unspecified*/ { + ext_oneapi_device_is_integrated +}; + +} // namespace sycl +``` + +[width="100%",%header,cols="50%,50%"] +|=== +|Aspect +|Description + +|`ext_oneapi_device_is_integrated` +|Indicates that the device supports the + `sycl::device::get_info()` + call. +|=== + +=== New device descriptor + +[width="100%",%header,cols="50%,50%,50%"] +|=== +|Device descriptor +|Return type +|Description + +|`sycl::ext::oneapi::info::device::device_is_integrated` +|bool +|Returns `true` if device is integrated, otherwise returns `false`. +|=== + +== Issues + +None.