Tags: bb-sycl/llvm
Tags
[NFC][SYCL] Remove doc for buffer_location attribute (intel#2273) Speling-less attributes can't have a documentation. That is unfortunate. Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
[SYCL][FPGA] Add clang support for buffer_location property (intel#2166) This is a compiler-time known accessor property which serves as an optimization hint for a compiler on where exactly buffer was allocated. This is needed when a board has multiple disjoint global memories that must be managed explicitly by a programmer. When the property is added as a template parameter of an accessor - SemaSYCL will implicitly add ``intelfpga::kernel_arg_buffer_location`` attribute to an OpenCL kernel generated from SYCL kernel object. It is not allowed to use the attribute explicitly in SYCL code. When the attribute is applied, clang generates metadata attached to OpenCL kernel. Number of values stored in the metadata is the same as number of kernel parameters. Order of metadata values is following the order of pointer kernel parameters. Metadata values are of an integer type and is being set accordingly values passed through accessor property ``buffer_location``. This values are mapped in hardware backend to the actual locations of buffers (DDR, QDR etc). Default value passed in the metadata is '-1'.
[SYCL] Add implementation of sycl::intel::barrier (intel#2198) Exposes barrier as a free function, aligned with group_barrier from SYCL 2020 provisional. Naming is aligned with the existing DPC++ group algorithms, hence barrier in place of group_barrier. Signed-off-by: John Pennycook <john.pennycook@intel.com>
[SYCL] Test for fix of linked alloca's deps (intel#1470) The tests provided here are for the fix introduced with intel#1471. Use case fixed by the fix. Imagine us having two device queues (`Q1` and `Q2`) and a single buffer `B`. We initialize the buffer with host accessor. Also lets have two kernels: kernel `K1` executed at `Q1`; and kernel `K2` which executes at `Q2`. `K1` writes to `B`, `K2` reads from `B`. After submitting `K1` to `Q1` there will also be an `AllocaCommand` `A1` which allocates buffer on device. `K1` depends on `A1` via memory object `B`. After submitting `K2` to `Q2` there will be another `AllocaCommand` `A2` (for queue `Q2` and its device). `K2` will depend on `A2`. `A2`, however, should depend on both `A1` and `K1`. `A2->K1` dependency eliminates data race. Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
[SYCL] Refactoring of queue classes (intel#2205) 1. Aligned variables names 2. Replaced "take by value" to "take by reference" in several functions 3. Reduced scope of locks 4. Always use vector of queues instead of accessing one dedicated queue.
[NFC] Update OpenCL installation process (intel#2201) This version supports side-by-side installation of OpenCL RT for Intel CPU and OpenCL RT for Intel FPGA emulation.
[SYCL] Fix fail in the post commit testing (intel#2210) * Fix handler_set_args lit test * Checkout fixed version of the Level Zero loader instead of checking out master. Otherwise major changes in the headers can cause build failures. Signed-off-by: Artur Gainullin <artur.gainullin@intel.com>
[SYCL] Move pretty-printers from the GDB repository (intel#2174) Similar to xmethods, pretty-printing scripts should be distributed together with a matching runtmime library to ensure it stays in sync. Directory names have been adjusted to make them more generic.
PreviousNext