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 longandlong long unsignedversions ofVc::Vector[AVX]. (We simply don't support those types for now.) -
Test Vc::SimdArrayin addition toVc::Vector -
Do the explicit instantiations for Vc. -
(Maybe) do the explicit instantiations with some cmake trickery, instead of using an extra .ccfor 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