Releases: intel/llvm
Releases · intel/llvm
DPC++ daily 2022-10-31
[SYCL] Fix a couple of memory corruptions. (#7231) 1. It's UB to construct std::string using nullptr which may happen with mock device images in SYCL unittests 2. Fixed a couple of mock "getInfo" PI APIs that were casting param_value to an incorrect type.
DPC++ daily 2022-10-30
[CI][NFC] Fix github actions warnings (#7169) One more fix became available. Also update some CI workflows according to current testing setup: * Trigger post commit testing load in pre-commit time if corresponding sub-workflows changed * Ignore Windows/MacOS sub-workflows changes in pre-commit testing load, they are not actually tested by pre-commit
DPC++ daily 2022-10-29
[CI][NFC] Fix github actions warnings (#7169) One more fix became available. Also update some CI workflows according to current testing setup: * Trigger post commit testing load in pre-commit time if corresponding sub-workflows changed * Ignore Windows/MacOS sub-workflows changes in pre-commit testing load, they are not actually tested by pre-commit
DPC++ daily 2022-10-28
sycl-nightly/20221028 [NFC][SYCL][Reduction] Move "Out" accessor down to the implementation…
DPC++ daily 2022-10-27
[NFCI][SYCL] Remove Reduction::getOutPointer (#7184) Both USM pointers/accessors work with operator[] just fine.
DPC++ daily 2022-10-26
[SYCL] Specify kernels in kernel_bundle for MultipleDevsCache (#7188) This commit changes the ProgramRetain test in MultipleDevsCache to be explicit about which kernels should be included in the corresponding kernel bundle. This prevents the kernel bundle from inadvertently building programs that are unrelated to the test. Signed-off-by: Larsen, Steffen <[email protected]>
DPC++ daily 2022-10-25
[SYCL] Fix post-commit warning treated as error (#7173) Compiler emits a warning when there is a return of std::move of a local variable.
DPC++ daily 2022-10-23
[SYCL] Fix event status query during queue flushing (#7147) Some events may have no native handle even at the point of cross queue dependency flushing (e.g. those produced by a 0 size memset, where no PI call is actually made). This patch changes the assertion of native handle's existence into a check so that we handle this case properly.
oneAPI DPC++ Compiler 2022-09
New features
SYCL Compiler
- Added ability to enforce stateless memory accesses for ESIMD. [1811162]
- Added support for
-fsycl-force-targetcompiler option. [1d95f2e] - Added support for
[[intel::max_reinvocation_delay]] loop attribute. [90fa5bb] - Added support for
-fsycl-huge-device-codecompiler option, which allows
linking object files larger than 2GB. [f963062] - Added support for compiling
.cufiles with SYCL compiler. [e76ad72] - Added support for
asserton HIP backend. [ade1870] - Enabled CXX standard library functions for CUDA backend. [1fe92c5]
- Implemented group collective built-in functions for more integral types. [d4933b6]
SYCL Library
- Implemented SYCL 2020 callable device selectors. [64f0db7]
- Implemented SYCL 2020 standalone device selectors. [bfc7e98]
- Added SYCL 2020 property interfaces for
local_accessor,usm_allocator,
accessorandhost_accessorclasses. [1136b40] [da7dcf8] - Added support for
fpga_simulator_selector. [9bef890] - Added support for
local_accessor. Deprecatedtarget::local. [e4423ef] - Added support for querying free device memory on Level Zero backend. [0eeef2b]
- Added support for querying free device memory on CUDA and HIP backends. [436f0d8]
- Implemented
bfloat16conversions from/tofloatfor host. [2a383f1] - Added support for
ext::oneapi::property::queue::discard_eventsto
Level Zero PI plugin. [1372120] - Added
lsc_atomicsupport on ESIMD emulator. [0c051a8] - Added
dpassupport on ESIMD emulator. [3d506a3] - Added C++ API for
imflibdevice built-ins. [830916a] - Implemented
make_queuefor CUDA backend. [89460e8] - Implemented
has_native_eventandmake_eventfor CUDA backend. [74369c8] - Added support of CUDA XPTI tracing. [0cd0414]
- Introduced predicates for ESIMD
lsc_block_store/load. [f44edce] - Added experimental
set_kernel_propertiesAPI anduse_double_grfproperty
for ESIMD. [9a55da5] - Added "eager initialization" mode to Level Zero PI plugin. It might result
in an unnecessary work done by the plugin, but ensures the fastest possible
execution on hot and reportable paths. [c145959] - Added full support of element wise operations on
joint_matrixon CUDA
backend includingbfloat16support. [0a1d751] - Implemented
group::get_linear_id(int)method [6e83c12]
Documentation
- Added stateful to stateless memory access conversion
design document. [3e03f30] - Added
sycl_ext_oneapi_complex
extension proposal. [01589da] - Updated
sycl_ext_intel_fpga_device_selector
extension to addfpga_simulator_accessor. [9bef890] - Added
sycl_ext_intel_fpga_kernel_interface_propertiesextension proposal. [4b6bd14] - Updated
sycl_ext_oneapi_complex_algorithms
extension to includesycl::complexas supported type for algorithms. [07c5b48] - Clarified sub-group size calculation in
sycl_ext_oneapi_invoke_simdextension spec. [9b33ad0] - Updated
sycl_ext_oneapi_accessor_properties
to markhas_propertyAPI asnoexcept. [7805aa3] - Updated
sycl_ext_intel_device_info
to support querying free device memory. [0eeef2b] - Updated
sycl_ext_oneapi_matrix
with description of new matrix features. [770f540] - Moved
sycl_ext_oneapi_invoke_simd
extensions specification fromproposedtoexperimentalbecause
implementation is available. [6bee344]
Improvements
SYCL Library
- Ensured that a correct
errcthrown for an unassociated placeholder
accessor. [4f9935a] - Removed dependency on OpenCL ICD Loader from the runtime. [90e8b5e]
- Added support for
ZEBINformat to persistent caching mechanism. [34dcf83] - Added identification mechanism for binaries in newer
ZEBINformat. [f4dee54] - Switched to use
structinformation descriptors in accordance with SYCL 2020.
Removed some deprecated information queries. [b3cbda5] - Updated
kernel_device_specific::max_sub_group_sizequery to match SYCL 2020
spec. Deprecated the old variant. [7842d05] - Deprecated SYCL 1.2.1 device selectors. [c058380]
- Improved error messages reported for unsupported device partitioning. [1c9ddba]
- Made
deviceandplatformdefault todefault_selector_v. [b32dd41] - Deprecated
address_space::constant_space. [351b123] - Marked
sycl::exception::has_contextasnoexcept. [ad923c9] - Improved range reductions performance on CPU. [3323da6]
- Made
sycl::exceptionnothrowcopy constructible. [289e33d] - Marked
has_propertymethods asnoexcept. [417b5a2] - Improved
sycl::event::get_profiling_infoexception message wheneventis
default constructed. [2e86cd4] - Added a diagnostic (in form of
static_assert) about kernel lambda size
mismatch between host and device. [d278c67] [ec179b7] [f417a88] - Updated
pipesclass to throw exceptions if used on host. [eab2969] - Updated ESIMD Emulator PI plugin to report support for
cl_khr_fp64
extension. [398571a] - Updated Level Zero plugin to prefer copy engine for memory read/write
operations. [65c3ea2] - Optimized some memory transfers. [92d35cd]
- Enabled event caching in Level Zero PI plugin. [a41b33c]
- Optimized some reductions with
parallel_foracceptingsycl::range
for discrete GPUs. [c22a5d3] - Improved performance of event synchronization on CUDA backend. [c4f326a]
- Added ability to use descendent devices of context members within that
context. Not supported with OpenCL backend yet. [a0c8c50] [78a483c] - Added support for querying
atomic64device capability with HIP backend. [cb190fc] - Enabled FTZ operations for CUDA/PTX backend via
-fcuda-flush-denormals-to-zero. [e8e7ae8] - Improved error message about incorrect kernel argument types with CUDA backend. [2542e6a]
- Limited allowed argument types for
rol/rorESIMD functions to better
represent HW capabilities. [b05f256] - Implemented
mem_advisereset and managed memory checks for CUDA backend. [fe18839] - Added concurrent memory check to
mem_adviseon CUDA backend. [33746d8] - Enabled multiple HIP streams per SYCL queue. [e0c40a9]
- Implemented lazy mechanism of setting context for default-constructed events. [ed92c4c]
- Improved performance for multi-dimensional accessors with multiple accesses
in a kernel. [7c58b9a]
SYCL Compiler
- Increased max
_Bitintsize to 4096 for FPGA target. [db5f72a] [3f06cad] - Removed deprecation message for
[[intel::disable_loop_pipelining]]attribute. [07201f5] - Allowed
__builtin_assume_alignedto be called from device code. [24937ea] - Improved link step performance when
per_kerneldevice code split is used. [84de9d6] - Added support for
SYCL_EXTERNALondevice_globalvariables. [8b958f6] - Updated
__builtin_intel_fpga_memto accept more parameters. [231338d] - Updated
ivdepattribute to allowsafelen = 0. [558b3ba] - Improved linking with
sycl.libon Windows. [404d281] - Implemented more diagnostics about incorrect
device_globalusages. [1265721] - Improved library resolution for
libsycl.so. [4ce19d6] - Improved diagnostics when linking with mismatched objects. [0e0202e]
- Added a warning for floating-point size changes after implicit conversions. [e4f5d55]
- Made
invoke_simdconvert its argument to appropriate types. [038764f]
Documentation
- Removed explicit
clnamespace references. [433ea5c] - Added a short guideline on using CMake with SYCL compiler. [fa603c3]
Bug fixes
SYCL Library
- Fixed a compilation issue where it wasn't possible to pass an initializer list
for dependency events vector inqueueshortcuts withoffset
parameter. [f4f83d9] - Fixed
sycl::get_pointer_devicethrowing an exception when it passed a
descendent device (sub-device) instead of a root device. [26d5d98] - Fixed memory leak happening when kernel bundles are linked. [980677d]
- Fixed USM free throwing an exception when it passed a context created for
a descendent device. [c49d494] - Fixed
accessor's CTAD forg++host compiler. [57aabe7] - Fixed a compilation issue when using multi-dimensional
accessor's subscript
operator. [22e3fc5] - Fixed "definition with the same mangled name" error happening when used
multiple buffer reductions in a kernel. [a0a4d72] - Fixed a compilation issue with SYCL math built-ins when GCC < 11.1 is used as
a host compiler. [c786894] - Fixed a compilation issue with SYCL math built-ins (such as
sycl::modf,
for example) not accepting pointers tohalf. [e286166] - Fixed an issues with
reductions when MSVC is used as host compiler. [94c4b80] - Fixed a compilation issue when fully specialized
sycl::spanis initialized
from an array. [2b50820] - Fixed a crash in...
DPC++ daily 2022-10-22
sycl-nightly/20221022 [NFC][SYCL] Minor refactor around KernelPropertiesUnpacker (#7125)