Skip to main content

Khronos Group Releases SYCL 2020 Revision 7

Khronos has today released the SYCL 2020 Revision 7 maintenance update with the following updates:

  • clarify buffer creation with nullptr;
  • align more “concurrent” wording with ISO C++;
  • precise that work-items provide weakly parallel forward progress guarantee;
  • import forward progress definition from ISO C++ and clarify various aspects on atomicity and synchronization;
  • C++17 remplaced by just the C++ core language;
  • fix description of max_work_item_sizes and clarify relationship to kernel dimensionality;
  • clarify “group” meaning in algorithm descriptions;
  • improve readability of group barrier description;
  • mention kernel_handler in kernel function definition;
  • relax requirement on backend traits being available;
  • clarify the “reducer” member types and constants;
  • clarify native_specialization_constant when empty;
  • allow “empty” shared_ptr for buffer construction;
  • add static constexpr `dimensions` member to all range/id-like types;
  • clarify blocking behavior of `queue::submit;
  • clarifications to device copyable;
  • clarify USM allocation of zero size coherent with std::malloc;
  • clarify sycl::atomic_ref;
  • clarify queue profiling behavior when unsupported;
  • clarify the wording for the use of property::queue::in_order;
  • reword guarantee about host-to-device fence synchronization;
  • add single source single compiler pass (SSCP) to the glossary;
  • add half to sycl::plus and sycl::multiplies and fix trait use;
  • clarify any_device_has / all_devices_have;
  • clarify that objects in global, local, or private address space can also be accessed via the generic address space;
  • disallow ++ and—for sycl::vec;
  • no assignment for read-only accessors;
  • clarifications to sub-group;
  • clarify is_group and bool_constant alias relations;
  • clarify out-of-bounds behavior for group_broadcast.