Releases: intel/llvm
Releases · intel/llvm
DPC++ daily 2023-04-05
sycl-nightly/20230405 Revert "[CI][Deps] Uplift CPU/FPGAEMU RT version to 2023.15.3.0.20" (…
DPC++ daily 2023-04-04
sycl-nightly/20230404 [CI][Deps] Uplift CPU/FPGAEMU RT version to 2023.15.3.0.20 (#8851)
DPC++ daily 2023-04-03
sycl-nightly/20230403 [SYCL][CUDA] Returns minimum mandated capabilities for atomic_fence d…
DPC++ daily 2023-04-02
sycl-nightly/20230402 [SYCL] Move xpti stream init (exception trace) to the first usage (#8…
DPC++ daily 2023-04-01
sycl-nightly/20230401 [SYCL] Move xpti stream init (exception trace) to the first usage (#8…
DPC++ daily 2023-03-31
[SYCL][InvokeSIMD] Improve error messages (#8839) 1) If we could not find an invoke_simd function to call, suggest the user check argument types 2) Check that no references are used for the invoke_simd callee. The current implementation only supports function pointers. It does not support lambdas or functors. We only support function pointers by default unless the user passes an undocumented define. --------- Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
DPC++ daily 2023-03-30
[SYCL] Host pipe runtime implementation (#7468) Disclaimer: This work is a continuation of a previous approved Sherry's PR: https://github.com/intel/llvm/pull/5766 and her draft work https://github.com/intel/llvm/pull/5894. We are implementing Hostpipes based on the Spec [here](https://github.com/rho180/llvm/blob/rho180-pipe-design/sycl/doc/design/HostPipes.md). OpenCL spec is [here](https://github.com/intel-sandbox/ip-authoring-specs/blob/MJ_ChangeDocs4/Pipe/Spec/cl_intel_host_pipe_symbol.asciidoc). The following is the outline of the design. 1. The host pipe properties need to be added to the device image (probably similar to the previous change here https://github.com/intel/llvm/commit/a9ad3af71cbdd5ebc7b7efeb35761aa8ea1a49d7) 2.The frontend calls the [registration of device image, maybe similar to this code](https://github.com/intel/llvm/blob/af858c74e4be95b2163ce6ba545ce588ff0aca4c/sycl/source/detail/program_manager/program_manager.cpp#L2014): which is where the host pipe information is available. This is where the mapping from host pipe name to host pipe pointer is extracted. 3. The frontend also calls `host_pipe_map::add` to register/initialize the host pipes. This is the new function. We are not sure about the ordering of registration of device image / registration of host pipe. for which ever one that comes later, it need to initialize the remaining attribute of host pipe (such as its properties). 4. The opencl runtime will need to get a cl_program object, which is typically not available until the first kernel launch. To get a program object early on, the host pipe name/pointer to device image mapping is cached during registration. And when the specific host pipe is needed, build the program and get its ocl runtime representation. This is done in the first couple commits. 5. Since a host pipe read/write need to depend on other write operation finishing before it (including the inter kernel write). This means the pipe needs to know the dependency of kernel execution. For this reason, the host pipe read and write ocl function cannot be called with no dep event. therefore, it is implemented with handler , which is aware of the event that it is supposed to wait upon. This is done in the "Register new command group .." commit. 6. Unit test - mock a fake device image. - register the fake device image - register fake pipe with some name you specified - fake the opencl functionality, this can be done with unittest::PiMock::redefine --------- Co-authored-by: Sherry Yuan <sherry.yuan@intel.com> Co-authored-by: Ho, Robert <robert.ho@intel.com>
oneAPI DPC++ Compiler dependencies
This release contains OpenCL RT for Intel CPU and FPGA emulator used for oneAPI DPC++ Compiler and runtime validation
Please, see the runtime installation guide here.
DPC++ daily 2023-03-29
[SYCL] Make joint_reduce work with sub_group (#8786) Note: the unqualified name lookup of joint_reduce in the overload of joint_reduce without an init param was not finding the overload of joint_reduce with an init param (because that declaration was located after it), so it searched for joint_reduce via ADL. With sycl::group, ADL can find both overloads of joint_reduce, but with sycl::sub_group = sycl::ext::oneapi::sub_group, ADL finds no joint_reduce in sycl::ext::oneapi. Fixes intel/llvm#8348 --------- Signed-off-by: Cai, Justin <justin.cai@intel.com>
DPC++ daily 2023-03-28
[SYCL] Do not track allocation if we don't own the handle (#8792) If we don't own level zero handle of the pi_mem then we can't control deallocation of that memory so there is no point of keeping track of the memory allocation for deferred memory release. More over currently level zero context is leaked because we increase its ref count at the point where we start tracking memory but don't decrement that ref count in USMFreeHelper. This PR fixes that problem.