Skip to content

Union kernel parameter #2283

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

smanna12
Copy link
Contributor

@smanna12 smanna12 commented Aug 7, 2020

No description provided.

Pennycook and others added 24 commits August 4, 2020 21:26
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>
…er (intel#2249)

Signed-off-by: Artur Gainullin <artur.gainullin@intel.com>
…#2248)

Implement getInfoArray for return type which differs from the type
returned by Level Zero API. Otherwise incorrect data is copied to the
returned array.

Signed-off-by: Artur Gainullin <artur.gainullin@intel.com>
oneTBB has not published yet, change their link to "TODO" state.

Signed-off-by: yinyangsx <yin.yang@intel.com>
…on is added (intel#2240)

Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
Signed-off-by: Artur Gainullin <artur.gainullin@intel.com>
…2223)

Currently build steps for ICD and Level Zero loader produce verbose
output. Log this output instead of spamming on the screen.

Signed-off-by: Artur Gainullin <artur.gainullin@intel.com>
 - Fixed OCL_ICD_FILENAMES capturing to LIT environment.
 - Disable sub_group tests which fail on some ISAs on OpenCL CPU.
 - Change local and global workgroup sizes to make them dividend
   of all possible sub_group sizes. That will fix test failures
   in the last sub_group of local group.
 - Remove use of deprecated shuffle methods.
 - Fixed tests where sub_group local ID exceed sub_group size.
…" (intel#2261)

This reverts commit 3df81ac.

SYCL::barrier.cpp is failing for every run after merging the PR both on Windows and Linux (e.g. http://ci.llvm.intel.com:8010/#/builders/18/builds/3851)
* [SYCL] Added support for aspects and the has() function.

The SYCL 2020 Provisional Spec adds a new concept called device "aspects",
which provide a way for an application to query whether a device supports
certain features which are not available on all devices.

The device::has() function returns true if a device supports the aspect,
and false otherwise.  The platform::has() function returns true if all
devices on the platform support the given aspect, and false otherwise.

Signed-off-by: Gail Lyons <gail.lyons@intel.com>
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'.
To enable better optimizations on the host, kernel implementation
routines may be marked with the attribute [[clang::sycl_kernel_impl]].
The function object passed to the SYCL kernel is also marked with
alwaysinline on the host to enable these optimizations to be more
effective.

Signed-off-by: Premanand M Rao <premanand.m.rao@intel.com>
Plugins create pi_device objects for root devices, but
it does not call piDeviceRelease and causes memory leaks.
This slows the performance of SYCL apps.

Signed-off-by: Byoungro So <byoungro.so@intel.com>
)

* [SYCL] Enable standard optimization pipeline for device code by default

Add new compiler flag to disable optimizations at compile time:
 -fno-sycl-std-optimizations

 Temporally disable optimizations in some LIT tests.

* Add clang driver test and update one more SYCL runtime test.

* Add TODO comment
After hiding implementation details LIT tests can no longer access SYCL runtime internals. This patch introduces a new framework for creating unit tests with support for device code and re-enables kernel and program cache test suite. There are a few limitations to such tests at the moment:
1) Only static linkage with SYCL runtime is supported at the moment.
2) No support for fallback device library (disabled with new `SYCL_DEVICELIB_NO_FALLBACK` specifically for unit tests). To load SPIR-V images runtime looks for dynamic library location (either libsycl.so or sycl.dll) to build absolute path. Since SYCL runtime is linked statically, this technique doesn't work.
Removed DAE from standard optimization pipeline

We cannot run DAE in ESIMD cntext since the pointers to SPIR kernel
functions are saved in !genx.kernels metadata. Because of that I
removed DAE pass from the standard pipeline and put it in the place
that is specific for SYCL passes and guarded it under a new
temporary option: '-fenable-sycl-dae'. This option is only used until
other parts of the solution are not in place.
Currently SYCL object creation from OpenCL object fails with
segmentation fault because of invalid GlobalPlugin. This patch fixes opencl/sycl
interop constructor by initializing GlobalPlugin before using it.

Signed-off-by: Nawrin Sultana <nawrin.sultana@intel.com>
Speling-less attributes can't have a documentation. That is
unfortunate.

Signed-off-by: Dmitry Sidorov <dmitry.sidorov@intel.com>
Various changes that stemmed from addressing my own code review
comments for a previous commit:

* Clean up OpenCL version checking in "enqueue_kernel.cpp" to avoid
  referencing uninitiaized memory when backend is not OpenCL.

* Add TODO comments to "enqueue_kernel.cpp" for additional error
  checks that will need to be added for backends other than OpenCL.

* Change "basic_tests/parallel_for_range.cpp" to prepare for running
  with L0, but it's still disabled for now.

* Add TODO comments to "basic_tests/parallel_for_range.cpp" to enable
  some testing for OpenCL versions > 2.0.

* Enable "basic_tests/reqd_work_group_size.cpp" for backends other
  than L0, and rearange its tests to put the positive tests first.
…#2269)

Increase major version of libsycl.so library as well
Signed-off-by: yinyangsx <yin.yang@intel.com>
Translate usub.sat(a, b) as (a > b) ? a - b : 0 sequence.
Signed-off-by: Soumi Manna <soumi.manna@intel.com>
@smanna12 smanna12 closed this Aug 7, 2020
@smanna12
Copy link
Contributor Author

smanna12 commented Aug 7, 2020

wrong patches.

@smanna12 smanna12 deleted the UnionKernelParameter branch August 7, 2020 19:38
Chenyang-L pushed a commit that referenced this pull request Feb 18, 2025
[DeviceASAN] Fix build error when using libcxx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.