@@ -37,7 +37,7 @@ https://github.com/intel/llvm/issues
37
37
38
38
== Dependencies
39
39
40
- This extension is written against the SYCL 2020 revision 7 specification.
40
+ This extension is written against the SYCL 2020 revision 8 specification.
41
41
All references below to the "core SYCL specification" or to section numbers in
42
42
the SYCL specification refer to that revision.
43
43
215
215
----
216
216
namespace sycl::ext::oneapi::experimental {
217
217
218
- template<typename PropertyListT = properties<>> (1)
218
+ template<typename PropertyListT = empty_properties_t> (1)
219
219
kernel_bundle<bundle_state::executable> build(
220
220
const kernel_bundle<bundle_state::ext_oneapi_source>& sourceBundle,
221
221
const std::vector<device> &devs,
222
222
PropertyListT props = {})
223
223
224
- template<typename PropertyListT = properties<>> (2)
224
+ template<typename PropertyListT = empty_properties_t> (2)
225
225
kernel_bundle<bundle_state::executable> build(
226
226
const kernel_bundle<bundle_state::ext_oneapi_source>& sourceBundle,
227
227
PropertyListT props = {})
@@ -230,13 +230,11 @@ kernel_bundle<bundle_state::executable> build(
230
230
----
231
231
!====
232
232
233
- Overload (1):
234
-
235
233
_Constraints:_ Available only when `PropertyListT` is an instance of
236
234
`sycl::ext::oneapi::experimental::properties` which contains no properties
237
235
other than those listed below in the section "New properties".
238
236
239
- _Effects:_ The source code from `sourceBundle` is translated into one or more
237
+ _Effects (1) :_ The source code from `sourceBundle` is translated into one or more
240
238
device images of state `bundle_state::executable`, and a new kernel bundle is
241
239
created to contain these device images.
242
240
The new bundle represents all of the kernels in `sourceBundle` that are
@@ -247,6 +245,8 @@ Any remaining kernels (those that are not compatible with any of the devices in
247
245
The new bundle has the same associated context as `sourceBundle`, and the new
248
246
bundle's set of associated devices is `devs` (with duplicate devices removed).
249
247
248
+ _Effects (2)_: Equivalent to `build(sourceBundle, ctxt.get_devices(), props)`.
249
+
250
250
_Returns:_ The newly created kernel bundle, which has `executable` state.
251
251
252
252
_Throws:_
@@ -274,12 +274,6 @@ source code used to create the kernel bundle being printed to the terminal.
274
274
In situations where this is undesirable, developers must ensure that the
275
275
exception is caught and handled appropriately.
276
276
_{endnote}_]
277
-
278
- Overload (2):
279
-
280
- _Constraints:_ Same as overload (1).
281
-
282
- _Effects:_ Equivalent to `build(sourceBundle, ctxt.get_devices(), props)`.
283
277
|====
284
278
285
279
=== New properties
@@ -333,7 +327,7 @@ namespace sycl::ext::oneapi::experimental {
333
327
334
328
struct save_log {
335
329
std::string *log;
336
- save_log(std::string *to);
330
+ save_log(std::string *to); (1)
337
331
};
338
332
using save_log_key = save_log;
339
333
@@ -359,7 +353,7 @@ provided in the log.
359
353
In general, the log information is intended for human consumption, and the
360
354
format may not be stable across implementations of this extension.
361
355
362
- _Effects:_ Constructs a `save_log` property with a pointer to a `std::string`.
356
+ _Effects (1) :_ Constructs a `save_log` property with a pointer to a `std::string`.
363
357
When the `build` function completes successfully, this string will contain the
364
358
log.
365
359
@@ -426,10 +420,7 @@ template <bundle_state State>
426
420
class kernel_bundle {
427
421
// ...
428
422
429
- // Available only if bundle_state is not bundle_state::ext_oneapi_source
430
423
bool ext_oneapi_has_kernel(const std::string &name);
431
-
432
- // Available only if bundle_state is bundle_state::executable
433
424
kernel ext_oneapi_get_kernel(const std::string &name);
434
425
};
435
426
0 commit comments