Created
March 19, 2021 13:59
-
-
Save srinivasyadav18/f3b9ede8cff1e8b23b487290e877c907 to your computer and use it in GitHub Desktop.
unseq_doubts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I still did not get clarity about unseq. | |
I am clear that datapar/dataseq is about using simd or | |
some kind vector intrinsics and provide vectorization. | |
But what does unseq do? | |
could you elobarate on this | |
--> "while unseq leaves the vectorization to the compiler" | |
to understand this i went to c++ standard unseq i.e | |
std::execution::unseq, | |
and currently std supports unseq only with c++20 | |
and only gcc and msvc have implemented it. | |
defined here https://en.cppreference.com/w/cpp/20 | |
and http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1001r2.html | |
gcc implementation of it from gcc mirrors | |
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/pstl/pstl_config.h | |
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/pstl/unseq_backend_simd.h | |
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/pstl/execution_impl.h | |
here they use some kind of pragma simd, simd, or even omp simd | |
for vectorisation (in pstl_config.h) | |
which is backend for unseq |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment