[1.3] Fix parallelLoopPatterns
for the Intel FPGA SYCL back-end
#2457
+60
−40
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Extend
parallelLoopPatterns
to use 64-bit indices to support more than 2³² elements.Add a dedicated fix for SYCL back-ends, that assume that kernel-related queries (and possibly indices) are limited to
INT_MAX
, unless the-fno-sycl-id-queries-fit-in-int
compiler flag is used.Add a
Vec
constructor from aVec
with a compatible type. This seems useful in general, and is required to compileparallelLoopPatterns
with these changes.The only difference with respect to #2456 is the use of
std::is_convertible_v
instead ofstd::is_nothrow_convertible_v
, which has been introduced in c++20, and a workaround for NVCC 11.3 that does not properly support SFINAE.