Extended SIMD interface
Intent to merge: 2018-05-21.
Design of the interface: dune/common/simd/DESIGN.md
-
Move the documentation (vc.org) into Doxygen. -
Move the documentation (simd-abstraction.md) into Doxygen. (Moved to dune/common/simd/DESIGN.md instead) -
(Maybe) make the test switchable between the strict and the watered-down version.(Not doing that right now, but test labels are implemented in master, !423 (merged)) -
(Maybe) use concepts for tests that can fail during compile time. If they fail during compile time we could just report them as failed during run-time. That would mean you get an overview over everything that fails, instead of seeing only the next item.(Not doing that right now) -
Decide what to do about the failing unary -
onVc::Vector<unsigned short>
[AVX] (this was, in fact, a bug in the test). -
Decide what to do about the missing broadcast for the long
,long unsigned
,long long
andlong long unsigned
versions ofVc::Vector
[AVX]. (We simply don't support those types for now.) -
Test Vc::SimdArray
in addition toVc::Vector
-
Do the explicit instantiations for Vc. -
(Maybe) do the explicit instantiations with some cmake trickery, instead of using an extra .cc
for each instantiation. (Seecmake/modules/DuneInstances.cmake
) -
Introduce enough additional interface functions for the vectorization of luDecomposition()
indensematrix.hh
. -
Work around (or fix) the SFINAE issue with clang (see CI). (I don't remember what this was about, seems gone) -
What to do about the unaryLeaving that open for the moment -- we have similar issues with vectorclass, see https://gitlab.dune-project.org/lukas.renelt/dune-vectorclass/merge_requests/3#note_42995.+
,-
, and~
on masks (not supported by Vc atm), see test.hh (line 1084). -
Deal with compile time of unit tests.
Edited by Jö Fahlke