Skip to content

Commit 50a9feb

Browse files
committed
added extension doc
Signed-off-by: Sergey V Maslov <[email protected]>
1 parent 3eeeca9 commit 50a9feb

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
= sycl_ext_oneapi_queue_priority
2+
3+
:source-highlighter: coderay
4+
:coderay-linenums-mode: table
5+
6+
// This section needs to be after the document title.
7+
:doctype: book
8+
:toc2:
9+
:toc: left
10+
:encoding: utf-8
11+
:lang: en
12+
:dpcpp: pass:[DPC++]
13+
14+
// Set the default source code type in this document to C++,
15+
// for syntax highlighting purposes. This is needed because
16+
// docbook uses c++ and html5 uses cpp.
17+
:language: {basebackend@docbook:c++:cpp}
18+
19+
20+
== Notice
21+
22+
[%hardbreaks]
23+
Copyright (C) 2022-2022 Intel Corporation. All rights reserved.
24+
25+
Khronos(R) is a registered trademark and SYCL(TM) and SPIR(TM) are trademarks
26+
of The Khronos Group Inc. OpenCL(TM) is a trademark of Apple Inc. used by
27+
permission by Khronos.
28+
29+
== Contact
30+
31+
To report problems with this extension, please open a new issue at:
32+
33+
https://github.com/intel/llvm/issues
34+
35+
36+
== Dependencies
37+
38+
This extension is written against the SYCL 2020 revision 4 specification. All
39+
references below to the "core SYCL specification" or to section numbers in the
40+
SYCL specification refer to that revision.
41+
42+
== Status
43+
44+
This extension is implemented and fully supported by {dpcpp}.
45+
46+
== Overview
47+
48+
Introduce SYCL queue property specifying desired priority of the queue.
49+
This priority is a hint and may be ignored if not supported by
50+
underlying backends.
51+
52+
== Specification
53+
54+
=== Feature test macro
55+
56+
This extension provides a feature-test macro as described in the core SYCL
57+
specification. An implementation supporting this extension must predefine
58+
the macro `SYCL_EXT_ONEAPI_QUEUE_PRIORITY` to one of the values defined
59+
in the table below. Applications can test for the existence of this macro
60+
to determine if the implementation supports this feature, or applications
61+
can test the macro's value to determine which of the extension's features
62+
the implementation supports.
63+
64+
[%header,cols="1,5"]
65+
|===
66+
|Value
67+
|Description
68+
69+
|1
70+
|Initial version of this extension.
71+
|===
72+
73+
=== API of the extension
74+
75+
This extension adds support for a new property for SYCL queue constructors
76+
taking properties list:
77+
78+
```c++
79+
namespace sycl::ext::oneapi::property::queue {
80+
81+
class use_priority {
82+
public:
83+
using priority_type = enum {
84+
normal = 0, // default
85+
low = 1,
86+
high = 2
87+
};
88+
use_priority(priority_type);
89+
};
90+
91+
} // namespace
92+
```
93+
The new property hints the SYCL runtime that the queue gets the specified
94+
priority for execution if supported by underlying target runtimes. This
95+
property is a hint and may safely be ignored by an implementation. In the
96+
initial version (`SYCL_EXT_ONEAPI_QUEUE_PRIORITY` equals to `1`) it is
97+
supported by Level Zero backend only.

0 commit comments

Comments
 (0)