|
| 1 | +# December'19 release notes |
| 2 | + |
| 3 | +Release notes for commit 78d80a1cc628af76f09c53673ada906a3d2f0131 |
| 4 | + |
| 5 | +## New features |
| 6 | + - New attributes for Intel FPGA devices : `num_simd_work_items`, `bank_bits`, |
| 7 | + `max_work_group_size`, `max_global_work_dim` |
| 8 | + [61d60b6] [7becb9d] [9053642] [6441851] |
| 9 | + - The infrastructure for device standard C/C++ libraries has been introduced. |
| 10 | + `assert` can now be used in device code [0039ee0] |
| 11 | + - Add opencl-aot tool for AoT compilation for Intel CPU devices [400460b] |
| 12 | + - Added support for `cl::sycl::intel::experimental::printf` builtin [78d80a1] |
| 13 | + - Implemented device code split feature: compiler can now be instructed to |
| 14 | + split a single device code module into multiple via the |
| 15 | + `-fsycl-device-code-split` option. |
| 16 | + [9d7dba6] [cc93bc4] [5491486] [a339d4c] [9095749] |
| 17 | + |
| 18 | +## Improvements |
| 19 | +### SYCL Frontend and driver changes |
| 20 | + - Allowed applying `cl::reqd_work_group_size` and |
| 21 | + `cl::intel_reqd_sub_group_size` attributes to a lambda function [b06fc66] |
| 22 | + - Allowed applying SYCL_EXTERNAL to functions with raw pointer arguments or |
| 23 | + return value if `-Wno-error=sycl-strict` option is passed [2840458] |
| 24 | + - Added support for FPGA device libraries in fat static libraries [d39ab73] |
| 25 | + - Removed limitation of virtual types in SYCL [98754ff] |
| 26 | + |
| 27 | +### SYCL headers and runtime |
| 28 | + - Added support for platform name and platform version in the device allowed |
| 29 | + list [7f2f668] |
| 30 | + - Made kernels and programs caches thread-safe [118dc82] |
| 31 | + - It's now possible to omit `cl` namespace specifier when using SYCL API. |
| 32 | + `sycl::buffer` can be used instead `cl::sycl::buffer` [67e4655] |
| 33 | + - Diagnostic on attempt to do several actions in one command group has been |
| 34 | + implemented [9f8ae50] |
| 35 | + - `queue::submit` now throws synchronous exceptions [6a83d14] |
| 36 | + - Enqueue pending tasks after host accessor destructor [80d17b2] |
| 37 | + - Implemented more "flat" kernel submission `cl::sycl::queue` methods |
| 38 | + [c5318c5] |
| 39 | + |
| 40 | +### Documentation |
| 41 | + - Added support for generation of SYCL documentation with Doxygen [de418d6] |
| 42 | + - [Design document](doc/extensions/C-CXX-StandardLibrary/C-CXX-StandardLibrary.rst) |
| 43 | + which describes design of C/C++ standard library support has been added |
| 44 | + |
| 45 | +## Bug fixes |
| 46 | +### SYCL Frontend and driver changes |
| 47 | + - Fixed problem which prevented attaching multiple attributes to a SYCL kernel |
| 48 | + [b77e5b7] |
| 49 | + |
| 50 | +### SYCL headers and runtime |
| 51 | + - Fixed a possible deadlock with host accessor' creation from multiple threads |
| 52 | + [d1c6dbe] |
| 53 | + - Compatibility issues that can happen when the SYCL library and SYCL |
| 54 | + application are compiled with different version of standard headers are |
| 55 | + fixed. [d854643] |
| 56 | + - Fixed compile error for `handler::copy` with `-fsycl-unnamed-lambda` |
| 57 | + [e73d2ce] |
| 58 | + - Fixed error which happened when autogenerated (`-fsycl-unnamed-lambda`) |
| 59 | + kernel name contained `cl::sycl::half` type [514fc0b] |
| 60 | + - Fixed crash on submitting a kernel with zero local size on the host device |
| 61 | + [b6806ea] |
| 62 | + - Made `vec::load` and `vec::store` member functions templated to align with |
| 63 | + the SYCL specification [4bd76de] |
| 64 | + - Made exceptions that are thrown in the copy back routine during SYCL |
| 65 | + memory object destructor asynchronous [2d6dcd0] |
| 66 | + - Fixed creation of host accessor to sub-buffer leading to crash in some |
| 67 | + scenarios [f607520] |
| 68 | + - Fixed build error on Windows caused by RuntimeLibrary value inconsistency |
| 69 | + for LLVM and apps/tests linked with it [f9296b6] |
| 70 | + |
| 71 | +## Known issues |
| 72 | +- [new] The size of object file is increased compared to the older compiler |
| 73 | + releases due to the recent fat object layout changes in the open source LLVM. |
| 74 | +- Using `cl::sycl::program` API to refer to a kernel defined in another |
| 75 | + translation unit leads to undefined behaviour |
| 76 | +- Linkage errors with the following message: |
| 77 | + `error LNK2005: "bool const std::_Is_integral<bool>" (??$_Is_integral@_N@std@@3_NB) already defined` |
| 78 | + can happen when a SYCL application is built using MS Visual Studio 2019 |
| 79 | + version below 16.3.0 |
| 80 | + For MSVC version having the error the workaround is to use -std=c++17 switch. |
| 81 | + |
| 82 | +## Prerequisites |
| 83 | +### Linux |
| 84 | +- Experimental Intel(R) CPU Runtime for OpenCL(TM) Applications with SYCL |
| 85 | + support version |
| 86 | + [2020.9.1.0.18_rel](https://github.com/intel/llvm/releases/download/2019-12/oclcpuexp-2020.9.1.0.18_rel.tar.gz) |
| 87 | + is recommended OpenCL CPU RT prerequisite for the SYCL compiler |
| 88 | +- The Intel(R) Graphics Compute Runtime for OpenCL(TM) version |
| 89 | + [19.48.14977](https://github.com/intel/compute-runtime/releases/tag/19.48.14977) |
| 90 | + is recommended OpenCL GPU RT prerequisite for the SYCL compiler. |
| 91 | +### Windows |
| 92 | +- Experimental Intel(R) CPU Runtime for OpenCL(TM) Applications with SYCL |
| 93 | + support version |
| 94 | + [2020.9.1.0.18_rel](https://github.com/intel/llvm/releases/download/2019-12/win-oclcpuexp-2020.9.1.0.18_rel.zip) |
| 95 | + is recommended OpenCL CPU RT prerequisite for the SYCL compiler |
| 96 | +- The Intel(R) Graphics Compute Runtime for OpenCL(TM) version |
| 97 | + [26.20.100.7463](https://downloadcenter.intel.com/download/29195/Intel-Graphics-Windows-10-DCH-Drivers) |
| 98 | + is recommended OpenCL GPU RT prerequisite for the SYCL compiler. |
| 99 | + |
| 100 | +Please, see the runtime installation guide [here](https://github.com/intel/llvm/blob/sycl/sycl/doc/GetStartedWithSYCLCompiler.md#install-low-level-runtime) |
| 101 | + |
1 | 102 | # November'19 release notes
|
2 | 103 |
|
3 | 104 | Release notes for commit e0a62df4e20eaf4bdff5c7dd46cbde566fbaee90
|
|
0 commit comments