Skip to content
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

sycl_5_2_0: [SYCL][Bindless][Doc] Add support for cubemaps (#12996) #13471

Closed
wants to merge 21 commits into from

Conversation

kbenzie
Copy link
Contributor

@kbenzie kbenzie commented Apr 18, 2024

Cherry-pick of #12996 for sycl-rel_5_2_0 depends on #13470

Add cubemap support:

  • Allocation and freeing of cubemapped images
  • Unsampled fetching and writing, and sampled reading
  • Device queries for cubemap support
  • Testing for both unsampled and sampled cubemap examples
  • Update the spec with cubemap support

Remove const and & qualifiers from spec and implementation for
handle parameters in write_xxx functions.

Corresponding UR PR:
oneapi-src/unified-runtime#1433


Co-authored-by: Przemek Malon przemek.malon@codeplay.com


Resolved Conflicts in:

Also pulls in the following PR's which resolve issues found post merge:

nrspruit and others added 19 commits April 15, 2024 05:37
intel#12983)

… info

pre-commit PR for
oneapi-src/unified-runtime#1429

---------

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
Co-authored-by: Kenneth Benzie (Benie) <k.benzie@codeplay.com>
Implement `seq_cst` RC11/ptx6.0 memory consistency for CUDA backend.

See https://dl.acm.org/doi/pdf/10.1145/3297858.3304043 and
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#memory-consistency-model
for full details. Requires sm_70 or above. With this PR there is now a
complete mapping between SYCL memory consistency model capabilities and
the official CUDA model, fully exploiting CUDA capabilities when
possible on supported arches.

This makes the SYCL-CTS atomic_ref tests fully pass for sm_70 on the
cuda backend.

Fixes intel#11208

Depends on intel#12907

---------

Signed-off-by: JackAKirk <jack.kirk@codeplay.com>
Co-authored-by: Kenneth Benzie (Benie) <k.benzie@codeplay.com>
oneapi-src/unified-runtime#1326

---------

Co-authored-by: Kenneth Benzie (Benie) <k.benzie@codeplay.com>
Tests UR PR oneapi-src/unified-runtime#1447 that
only reports support for UR command-buffers on ROCm 5.5.1 and later to
work around HIP driver bugs related to HIP-Graph in earlier version.

This requirement is also explicitly mentioned in the design doc.
…ntel#13014)

pre-commit PR for
oneapi-src/unified-runtime#1439

---------

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
Co-authored-by: Kenneth Benzie (Benie) <k.benzie@codeplay.com>
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
Co-authored-by: Kenneth Benzie (Benie) <k.benzie@codeplay.com>
…emCount==0 (intel#13209)

pre-commit PR for
oneapi-src/unified-runtime#1486

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
This commit adds a new error code to PI as a mapping from
UR_RESULT_ERROR_FEATURE_UNSUPPORTED.

This relates to oneapi-src/unified-runtime#1448.

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
…l#13022)

Remove accidental 3D image array intrinsic helpers as there is no NVVM
IR supporting these.
Add cubemap support:
 - Allocation and freeing of cubemapped images
 - Unsampled fetching and writing, and sampled reading
 - Device queries for cubemap support
 - Testing for both unsampled and sampled cubemap examples
 - Update the spec with cubemap support

Remove `const` and `&` qualifiers from spec and implementation for
handle parameters in `write_xxx` functions.

Corresponding UR PR:
oneapi-src/unified-runtime#1433

---------

Co-authored-by: Przemek Malon <przemek.malon@codeplay.com>

Resolved Conflicts in:
- Due to not cherry-picking intel#12840
  - sycl/include/sycl/detail/pi.h
- Due to not cherry-picking intel#13181
  - sycl/include/sycl/device_aspect_macros.hpp
  - sycl/include/sycl/info/aspects.def
* Update the test to initialize the input vectors with 0s to match
`bindless_helpers::fill_rand` requirement of non empty vector.
* Change the name of function `initVector` to  `init_vector`.
* move `init_vector`, `equal_vec` and `operator<<` in header
`bindless_helpers.hpp`.
…intel#13229)

* fix missed scope for `equal_vec` in Vulkan interop `mipmaps.cpp` test.
@kbenzie kbenzie closed this May 10, 2024
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.