Skip to content

[SYCL] Emit an error on attempt to compile in less than C++17 mode #6678

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

Merged
merged 4 commits into from
Sep 7, 2022

Conversation

romanovvlad
Copy link
Contributor

No description provided.

@romanovvlad romanovvlad requested a review from a team as a code owner August 31, 2022 08:20
@romanovvlad romanovvlad requested a review from a team as a code owner August 31, 2022 08:58
@romanovvlad romanovvlad requested a review from pvchupin August 31, 2022 14:04
@aelovikov-intel
Copy link
Contributor

If we can do that, it would be really great!

@romanovvlad
Copy link
Contributor Author

@aelovikov-intel @pvchupin Friendly ping.

@bader
Copy link
Contributor

bader commented Sep 8, 2022

@romanovvlad, this change breaks post-commit on Windows. Please, take a look.
https://github.com/intel/llvm/runs/8223053977?check_suite_focus=true

@pvchupin
Copy link
Contributor

pvchupin commented Sep 8, 2022

@romanovvlad, this change breaks post-commit on Windows. Please, take a look. https://github.com/intel/llvm/runs/8223053977?check_suite_focus=true

@romanovvlad, ping on that

@@ -10,13 +9,15 @@

#include <sycl/sycl.hpp>

// cxx14-warning@* {{DPCPP does not support C++ version earlier than C++17. Some features might not be available.}}
// clang-format off
// cxx14-error@* {{static assertion failed due to requirement '201402L >= 201703L'}}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it works reliably - any attempt to use C++17 feature without macro guard would result in an extra error reported and the test would fail.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, the static_assert should fire very early as it's in the most basic header. But to make the test more reliable, probably, we could add -Xclang -verify-ignore-unexpected=error,note and -Xclang -ferror-limit=<Big number> options.

steffenlarsen pushed a commit that referenced this pull request Dec 12, 2022
…ce (#7077)

CUDA backend implementation using the "unified" matrix extension
interface. The same interface will be used for a future Intel backend
implementation of the matrix extension.

- New "unified" interface uses SYCL_EXT_ONEAPI_MATRIX_VERSION=4
- `joint_matrix_load`, `joint_matrix_store`, `joint_matrix_mad` and
`joint_matrix` interfaces match the new spec from
#6662
- Separated `joint_matrix_*` functions into new header
matrix-unified.hpp: Intel backend implementations can be called from the
same functions in the future.
- C++17 everywhere in line with #6678
- Updated device code tests to use new interfaces
- Completely removed uint16 implementations that are replaced by
bfloat16 that is being moved out of the experimental namespace
- Updated all CUDA runtime matrix tests here:
intel/llvm-test-suite#1183

Signed-off-by: JackAKirk <[email protected]>
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.

4 participants