Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ replaced by the sycl_ext_oneapi_enqueue_functions extension: see link:../experim
*Shipping software products should stop using APIs defined in this
specification and use this alternative instead.*

// __INTEL_PREVIEW_BREAKING_CHANGES: Move this specification to the "removed"
// folder when the feature is removed at the next breaking changes window.

== Version

Revision: 1
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// __INTEL_PREVIEW_BREAKING_CHANGES: Remove this specification when the feature
// is removed at the next breaking changes window.

:dpcpp: pass:[DPC++]

This extension has been deprecated, but the specification is still available
Expand Down
6 changes: 6 additions & 0 deletions sycl/include/sycl/properties/queue_properties.def
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,15 @@ __SYCL_MANUALLY_DEFINED_PROP(property::queue::cuda, use_default_stream)
// Contains data field, defined explicitly.
__SYCL_MANUALLY_DEFINED_PROP(ext::intel::property::queue, compute_index)

#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
/// Inform the implementation that the application will not use events returned
/// by queue member functions.
///
/// This property is incompatible with `enable_profiling`.
__SYCL_DATA_LESS_PROP_DEPRECATED_ALIAS(
ext::oneapi::property::queue, discard_events, DiscardEvents,
__SYCL2020_DEPRECATED("use sycl_ext_oneapi_enqueue_functions instead"))
#endif // __INTEL_PREVIEW_BREAKING_CHANGES

#undef __SYCL_DATA_LESS_PROP
#undef __SYCL_MANUALLY_DEFINED_PROP
Expand Down
3 changes: 3 additions & 0 deletions sycl/source/detail/queue_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -212,12 +212,15 @@ class queue_impl : public std::enable_shared_from_this<queue_impl> {
MQueueID{
MNextAvailableQueueID.fetch_add(1, std::memory_order_relaxed)} {
verifyProps(PropList);
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
// The discard_events property is incompatible with enable_profiling.
if (has_property<ext::oneapi::property::queue::discard_events>() &&
has_property<property::queue::enable_profiling>()) {
throw sycl::exception(make_error_code(errc::invalid),
"Queue cannot be constructed with both of "
"discard_events and enable_profiling.");
}
#endif // __INTEL_PREVIEW_BREAKING_CHANGES

// The following commented section provides a guideline on how to use the
// TLS enabled mechanism to create a tracepoint and notify using XPTI. This
Expand Down
4 changes: 4 additions & 0 deletions sycl/source/feature_test.hpp.in
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,11 @@ inline namespace _V1 {
#define SYCL_EXT_ONEAPI_MATRIX 1
#define SYCL_EXT_ONEAPI_ASSERT 1
#define SYCL_EXT_ONEAPI_COMPLEX_ALGORITHMS 1
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
// Advertise the deprecated discard queue events extension in non-preview
// builds.
#define SYCL_EXT_ONEAPI_DISCARD_QUEUE_EVENTS 1
#endif // __INTEL_PREVIEW_BREAKING_CHANGES
#define SYCL_EXT_ONEAPI_QUEUE_PRIORITY 1
#define SYCL_EXT_ONEAPI_ENQUEUE_BARRIER 1
#define SYCL_EXT_ONEAPI_FREE_FUNCTION_QUERIES 1
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# __INTEL_PREVIEW_BREAKING_CHANGES: remove the folder along with all its
# contents when the sycl_ext_oneapi_discard_queue_events feature is removed.
config.unsupported_features += ['preview-mode']
3 changes: 3 additions & 0 deletions sycl/unittests/queue/Properties.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,11 @@ TEST(QueueProperties, ValidDatalessProperties) {
sycl::unittest::UrMock<> Mock;
DatalessQueuePropertyCheck<sycl::property::queue::in_order>();
DatalessQueuePropertyCheck<sycl::property::queue::enable_profiling>();
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
// Check the deprecated discard_events property in non-preview builds.
DatalessQueuePropertyCheck<
sycl::ext::oneapi::property::queue::discard_events>();
#endif // __INTEL_PREVIEW_BREAKING_CHANGES
DatalessQueuePropertyCheck<
sycl::ext::oneapi::property::queue::priority_normal>();
DatalessQueuePropertyCheck<
Expand Down
Loading