Skip to content

Enable vectorization

I can't do everything simultaneously. But enabling vectorization is definitely possible. So I create this MR so that you can work on this too. It's a work in progress, but I don't use WIP: in title so that the pipeline will compile make_SSE which I just added.

The current compilation errors indicate that we will need to make a few small adjustments in the AlignedVector3, make another small merge request to libeigen and perhaps have another small patch in debian libeigen3-dev package.

The ThinRealWrapper.hpp file can serve as a cheatsheet about what missing constructors and operators we might need to add to AlignedVector3

EDIT: I have enabled vectorization without using AlignedVector3. So we have the benefit of using SSE, but without the super-optimized version of AlignedVector3. See the comment below for details. It is ready. Later we can improve this if necessary.

Edited by Janek Kozicki

Merge request reports

Loading