[Developers] Vectorisation in Carpet

Erik Schnetter schnetter at cct.lsu.edu
Fri Dec 3 09:00:19 CST 2010


I have begun to experiment with vectorisation in the Mercurial version
of Carpet. Vectorisation means executing two (or more) floating point
instructions at the same time, using corresponding features available
in Intel's SSE2 or IBM's Power Altivec VSX instruction set.

I have created several header files that simplify
architecture-independent vectorisation; these are available in
LSUThorns/Vectors which lives in svn at
<https://svn.cct.lsu.edu/repos/numrel/LSUThorns/Vectors/trunk>. By
default, vectorisation is turned off even if this thorn is used; one
has to add -DKRANC_VECTORS to CPPFLAGS to enable vectorisation.

I didn't quite plan to push these vectorisation changes into the
public repository just yet, since they could use a bit more testing;
however, we may now as well take this opportunity for more public
exposure.

-erik

-- 
Erik Schnetter <schnetter at cct.lsu.edu>   http://www.cct.lsu.edu/~eschnett/


More information about the Developers mailing list