Grid 0.7.0
Simd.h File Reference

Go to the source code of this file.

Data Structures

class  Zero

Macros

#define _MM_SELECT_FOUR_FOUR(A, B, C, D)
#define _MM_SELECT_FOUR_FOUR_STRING(A, B, C, D)
#define _MM_SELECT_EIGHT_TWO(A, B, C, D, E, F, G, H)
#define _MM_SELECT_FOUR_TWO
#define _MM_SELECT_TWO_TWO
#define RotateBit

Typedefs

typedef uint32_t Integer
typedef float RealF
typedef double RealD
typedef RealF Real
typedef std::complex< RealFComplexF
typedef std::complex< RealDComplexD
typedef std::complex< RealComplex
typedef std::complex< uint16_t > ComplexH
template<class T>
using complex
typedef vRealD vReal
typedef vComplexD vComplex

Functions

 NAMESPACE_BEGIN (Grid)
accelerator_inline ComplexD pow (const ComplexD &r, RealD y)
accelerator_inline ComplexF pow (const ComplexF &r, RealF y)
accelerator_inline RealF conjugate (const RealF &r)
accelerator_inline RealD conjugate (const RealD &r)
accelerator_inline ComplexD conjugate (const ComplexD &r)
accelerator_inline ComplexF conjugate (const ComplexF &r)
accelerator_inline RealF adj (const RealF &r)
accelerator_inline RealD adj (const RealD &r)
accelerator_inline ComplexD adj (const ComplexD &r)
accelerator_inline ComplexF adj (const ComplexF &r)
accelerator_inline RealF real (const RealF &r)
accelerator_inline RealD real (const RealD &r)
accelerator_inline RealF real (const ComplexF &r)
accelerator_inline RealD real (const ComplexD &r)
accelerator_inline RealF imag (const ComplexF &r)
accelerator_inline RealD imag (const ComplexD &r)
accelerator_inline ComplexD innerProduct (const ComplexD &l, const ComplexD &r)
accelerator_inline ComplexF innerProduct (const ComplexF &l, const ComplexF &r)
accelerator_inline RealD innerProduct (const RealD &l, const RealD &r)
accelerator_inline RealF innerProduct (const RealF &l, const RealF &r)
accelerator_inline ComplexD Reduce (const ComplexD &r)
accelerator_inline ComplexF Reduce (const ComplexF &r)
accelerator_inline RealD Reduce (const RealD &r)
accelerator_inline RealF Reduce (const RealF &r)
accelerator_inline RealD toReal (const ComplexD &r)
accelerator_inline RealF toReal (const ComplexF &r)
accelerator_inline RealD toReal (const RealD &r)
accelerator_inline RealF toReal (const RealF &r)
accelerator_inline void mac (ComplexD *__restrict__ y, const ComplexD *__restrict__ a, const ComplexD *__restrict__ x)
accelerator_inline void mult (ComplexD *__restrict__ y, const ComplexD *__restrict__ l, const ComplexD *__restrict__ r)
accelerator_inline void sub (ComplexD *__restrict__ y, const ComplexD *__restrict__ l, const ComplexD *__restrict__ r)
accelerator_inline void add (ComplexD *__restrict__ y, const ComplexD *__restrict__ l, const ComplexD *__restrict__ r)
accelerator_inline void mac (ComplexF *__restrict__ y, const ComplexF *__restrict__ a, const ComplexF *__restrict__ x)
accelerator_inline void mult (ComplexF *__restrict__ y, const ComplexF *__restrict__ l, const ComplexF *__restrict__ r)
accelerator_inline void sub (ComplexF *__restrict__ y, const ComplexF *__restrict__ l, const ComplexF *__restrict__ r)
accelerator_inline void add (ComplexF *__restrict__ y, const ComplexF *__restrict__ l, const ComplexF *__restrict__ r)
accelerator_inline ComplexF timesI (const ComplexF &r)
accelerator_inline ComplexD timesI (const ComplexD &r)
accelerator_inline ComplexF timesMinusI (const ComplexF &r)
accelerator_inline ComplexD timesMinusI (const ComplexD &r)
accelerator_inline ComplexF projReal (const ComplexF &r)
accelerator_inline ComplexD projReal (const ComplexD &r)
accelerator_inline ComplexF projImag (const ComplexF &r)
accelerator_inline ComplexD projImag (const ComplexD &r)
accelerator_inline void timesI (ComplexF &ret, const ComplexF &r)
accelerator_inline void timesI (ComplexD &ret, const ComplexD &r)
accelerator_inline void timesMinusI (ComplexF &ret, const ComplexF &r)
accelerator_inline void timesMinusI (ComplexD &ret, const ComplexD &r)
accelerator_inline void mac (RealD *__restrict__ y, const RealD *__restrict__ a, const RealD *__restrict__ x)
accelerator_inline void mult (RealD *__restrict__ y, const RealD *__restrict__ l, const RealD *__restrict__ r)
accelerator_inline void sub (RealD *__restrict__ y, const RealD *__restrict__ l, const RealD *__restrict__ r)
accelerator_inline void add (RealD *__restrict__ y, const RealD *__restrict__ l, const RealD *__restrict__ r)
accelerator_inline void mac (RealF *__restrict__ y, const RealF *__restrict__ a, const RealF *__restrict__ x)
accelerator_inline void mult (RealF *__restrict__ y, const RealF *__restrict__ l, const RealF *__restrict__ r)
accelerator_inline void sub (RealF *__restrict__ y, const RealF *__restrict__ l, const RealF *__restrict__ r)
accelerator_inline void add (RealF *__restrict__ y, const RealF *__restrict__ l, const RealF *__restrict__ r)
accelerator_inline void vstream (ComplexF &l, const ComplexF &r)
accelerator_inline void vstream (ComplexD &l, const ComplexD &r)
accelerator_inline void vstream (RealF &l, const RealF &r)
accelerator_inline void vstream (RealD &l, const RealD &r)
accelerator_inline ComplexD toComplex (const RealD &in)
accelerator_inline ComplexF toComplex (const RealF &in)
template<class itype>
accelerator_inline void zeroit (itype &arg)
template<>
accelerator_inline void zeroit (ComplexF &arg)
template<>
accelerator_inline void zeroit (ComplexD &arg)
template<>
accelerator_inline void zeroit (RealF &arg)
template<>
accelerator_inline void zeroit (RealD &arg)
accelerator_inline Integer Reduce (const Integer &r)
accelerator_inline void mac (Integer *__restrict__ y, const Integer *__restrict__ a, const Integer *__restrict__ x)
accelerator_inline void mult (Integer *__restrict__ y, const Integer *__restrict__ l, const Integer *__restrict__ r)
accelerator_inline void sub (Integer *__restrict__ y, const Integer *__restrict__ l, const Integer *__restrict__ r)
accelerator_inline void add (Integer *__restrict__ y, const Integer *__restrict__ l, const Integer *__restrict__ r)
accelerator_inline void vstream (Integer &l, const RealD &r)
template<>
accelerator_inline void zeroit (Integer &arg)
accelerator_inline Integer mod (Integer a, Integer y)
accelerator_inline Integer div (Integer a, Integer y)
template<class VectorSIMD>
accelerator_inline void Gpermute (VectorSIMD &y, const VectorSIMD &b, int perm)
 NAMESPACE_END (Grid)
std::ostream & operator<< (std::ostream &stream, const vComplexF &o)
std::ostream & operator<< (std::ostream &stream, const vComplexD &o)
std::ostream & operator<< (std::ostream &stream, const vComplexD2 &o)
std::ostream & operator<< (std::ostream &stream, const vRealF &o)
std::ostream & operator<< (std::ostream &stream, const vRealD &o)
std::ostream & operator<< (std::ostream &stream, const vInteger &o)

Macro Definition Documentation

◆ _MM_SELECT_FOUR_FOUR

◆ _MM_SELECT_FOUR_FOUR_STRING

#define _MM_SELECT_FOUR_FOUR_STRING ( A,
B,
C,
D )

Definition at line 49 of file Simd.h.

◆ _MM_SELECT_EIGHT_TWO

#define _MM_SELECT_EIGHT_TWO ( A,
B,
C,
D,
E,
F,
G,
H )

Definition at line 50 of file Simd.h.

◆ _MM_SELECT_FOUR_TWO

#define _MM_SELECT_FOUR_TWO

Definition at line 51 of file Simd.h.

◆ _MM_SELECT_TWO_TWO

#define _MM_SELECT_TWO_TWO

Definition at line 52 of file Simd.h.

◆ RotateBit

#define RotateBit

Typedef Documentation

◆ Integer

typedef uint32_t Integer

Definition at line 58 of file Simd.h.

◆ RealF

typedef float RealF

Definition at line 60 of file Simd.h.

◆ RealD

typedef double RealD

Definition at line 61 of file Simd.h.

◆ Real

typedef RealF Real

Definition at line 65 of file Simd.h.

◆ ComplexF

Definition at line 78 of file Simd.h.

◆ ComplexD

Definition at line 79 of file Simd.h.

◆ Complex

Definition at line 80 of file Simd.h.

◆ ComplexH

typedef std::complex<uint16_t> ComplexH

Definition at line 81 of file Simd.h.

◆ complex

template<class T>
using complex

Definition at line 82 of file Simd.h.

◆ vReal

typedef vRealD vReal

Definition at line 237 of file Simd.h.

◆ vComplex

Definition at line 238 of file Simd.h.

Function Documentation

◆ NAMESPACE_BEGIN()

NAMESPACE_BEGIN ( Grid )

◆ pow() [1/2]

accelerator_inline ComplexD pow ( const ComplexD & r,
RealD y )

Definition at line 84 of file Simd.h.

References accelerator_inline.

◆ pow() [2/2]

accelerator_inline ComplexF pow ( const ComplexF & r,
RealF y )

Definition at line 85 of file Simd.h.

References accelerator_inline.

◆ conjugate() [1/4]

accelerator_inline RealF conjugate ( const RealF & r)

Definition at line 106 of file Simd.h.

References accelerator_inline.

Referenced by adj(), adj(), innerProduct(), and innerProduct().

◆ conjugate() [2/4]

accelerator_inline RealD conjugate ( const RealD & r)

Definition at line 107 of file Simd.h.

References accelerator_inline.

◆ conjugate() [3/4]

accelerator_inline ComplexD conjugate ( const ComplexD & r)

Definition at line 108 of file Simd.h.

References accelerator_inline, and conj.

◆ conjugate() [4/4]

accelerator_inline ComplexF conjugate ( const ComplexF & r)

Definition at line 109 of file Simd.h.

References accelerator_inline, and conj.

◆ adj() [1/4]

accelerator_inline RealF adj ( const RealF & r)

Definition at line 111 of file Simd.h.

References accelerator_inline.

◆ adj() [2/4]

accelerator_inline RealD adj ( const RealD & r)

Definition at line 112 of file Simd.h.

References accelerator_inline.

◆ adj() [3/4]

Definition at line 113 of file Simd.h.

References accelerator_inline, and conjugate().

◆ adj() [4/4]

Definition at line 114 of file Simd.h.

References accelerator_inline, and conjugate().

◆ real() [1/4]

accelerator_inline RealF real ( const RealF & r)

Definition at line 116 of file Simd.h.

References accelerator_inline.

◆ real() [2/4]

accelerator_inline RealD real ( const RealD & r)

Definition at line 117 of file Simd.h.

References accelerator_inline.

◆ real() [3/4]

accelerator_inline RealF real ( const ComplexF & r)

Definition at line 118 of file Simd.h.

References accelerator_inline.

◆ real() [4/4]

accelerator_inline RealD real ( const ComplexD & r)

Definition at line 119 of file Simd.h.

References accelerator_inline.

◆ imag() [1/2]

accelerator_inline RealF imag ( const ComplexF & r)

Definition at line 121 of file Simd.h.

References accelerator_inline.

◆ imag() [2/2]

accelerator_inline RealD imag ( const ComplexD & r)

Definition at line 122 of file Simd.h.

References accelerator_inline.

◆ innerProduct() [1/4]

accelerator_inline ComplexD innerProduct ( const ComplexD & l,
const ComplexD & r )

Definition at line 124 of file Simd.h.

References accelerator_inline, and conjugate().

◆ innerProduct() [2/4]

accelerator_inline ComplexF innerProduct ( const ComplexF & l,
const ComplexF & r )

Definition at line 125 of file Simd.h.

References accelerator_inline, and conjugate().

◆ innerProduct() [3/4]

accelerator_inline RealD innerProduct ( const RealD & l,
const RealD & r )

Definition at line 126 of file Simd.h.

References accelerator_inline.

◆ innerProduct() [4/4]

accelerator_inline RealF innerProduct ( const RealF & l,
const RealF & r )

Definition at line 127 of file Simd.h.

References accelerator_inline.

◆ Reduce() [1/5]

accelerator_inline ComplexD Reduce ( const ComplexD & r)

Definition at line 129 of file Simd.h.

References accelerator_inline.

Referenced by sliceInnerProductMatrix(), sum_cpu(), sumD_cpu(), and sumD_gpu_tensor().

◆ Reduce() [2/5]

accelerator_inline ComplexF Reduce ( const ComplexF & r)

Definition at line 130 of file Simd.h.

References accelerator_inline.

◆ Reduce() [3/5]

accelerator_inline RealD Reduce ( const RealD & r)

Definition at line 131 of file Simd.h.

References accelerator_inline.

◆ Reduce() [4/5]

accelerator_inline RealF Reduce ( const RealF & r)

Definition at line 132 of file Simd.h.

References accelerator_inline.

◆ toReal() [1/4]

accelerator_inline RealD toReal ( const ComplexD & r)

Definition at line 134 of file Simd.h.

References accelerator_inline.

◆ toReal() [2/4]

accelerator_inline RealF toReal ( const ComplexF & r)

Definition at line 135 of file Simd.h.

References accelerator_inline.

◆ toReal() [3/4]

accelerator_inline RealD toReal ( const RealD & r)

Definition at line 136 of file Simd.h.

References accelerator_inline.

◆ toReal() [4/4]

accelerator_inline RealF toReal ( const RealF & r)

Definition at line 137 of file Simd.h.

References accelerator_inline.

◆ mac() [1/5]

accelerator_inline void mac ( ComplexD *__restrict__ y,
const ComplexD *__restrict__ a,
const ComplexD *__restrict__ x )

Definition at line 143 of file Simd.h.

References accelerator_inline.

◆ mult() [1/5]

accelerator_inline void mult ( ComplexD *__restrict__ y,
const ComplexD *__restrict__ l,
const ComplexD *__restrict__ r )

Definition at line 144 of file Simd.h.

References accelerator_inline.

◆ sub() [1/5]

accelerator_inline void sub ( ComplexD *__restrict__ y,
const ComplexD *__restrict__ l,
const ComplexD *__restrict__ r )

Definition at line 145 of file Simd.h.

References accelerator_inline.

◆ add() [1/5]

accelerator_inline void add ( ComplexD *__restrict__ y,
const ComplexD *__restrict__ l,
const ComplexD *__restrict__ r )

Definition at line 146 of file Simd.h.

References accelerator_inline.

◆ mac() [2/5]

accelerator_inline void mac ( ComplexF *__restrict__ y,
const ComplexF *__restrict__ a,
const ComplexF *__restrict__ x )

Definition at line 149 of file Simd.h.

References accelerator_inline.

◆ mult() [2/5]

accelerator_inline void mult ( ComplexF *__restrict__ y,
const ComplexF *__restrict__ l,
const ComplexF *__restrict__ r )

Definition at line 150 of file Simd.h.

References accelerator_inline.

◆ sub() [2/5]

accelerator_inline void sub ( ComplexF *__restrict__ y,
const ComplexF *__restrict__ l,
const ComplexF *__restrict__ r )

Definition at line 151 of file Simd.h.

References accelerator_inline.

◆ add() [2/5]

accelerator_inline void add ( ComplexF *__restrict__ y,
const ComplexF *__restrict__ l,
const ComplexF *__restrict__ r )

Definition at line 152 of file Simd.h.

References accelerator_inline.

◆ timesI() [1/4]

accelerator_inline ComplexF timesI ( const ComplexF & r)

Definition at line 155 of file Simd.h.

References accelerator_inline.

Referenced by timesI(), and timesI().

◆ timesI() [2/4]

accelerator_inline ComplexD timesI ( const ComplexD & r)

Definition at line 156 of file Simd.h.

References accelerator_inline.

◆ timesMinusI() [1/4]

accelerator_inline ComplexF timesMinusI ( const ComplexF & r)

Definition at line 157 of file Simd.h.

References accelerator_inline.

Referenced by timesMinusI(), and timesMinusI().

◆ timesMinusI() [2/4]

accelerator_inline ComplexD timesMinusI ( const ComplexD & r)

Definition at line 158 of file Simd.h.

References accelerator_inline.

◆ projReal() [1/2]

accelerator_inline ComplexF projReal ( const ComplexF & r)

Definition at line 165 of file Simd.h.

References accelerator_inline.

◆ projReal() [2/2]

accelerator_inline ComplexD projReal ( const ComplexD & r)

Definition at line 166 of file Simd.h.

References accelerator_inline.

◆ projImag() [1/2]

accelerator_inline ComplexF projImag ( const ComplexF & r)

Definition at line 167 of file Simd.h.

References accelerator_inline.

◆ projImag() [2/2]

accelerator_inline ComplexD projImag ( const ComplexD & r)

Definition at line 168 of file Simd.h.

References accelerator_inline.

◆ timesI() [3/4]

accelerator_inline void timesI ( ComplexF & ret,
const ComplexF & r )

Definition at line 171 of file Simd.h.

References accelerator_inline, and timesI().

◆ timesI() [4/4]

accelerator_inline void timesI ( ComplexD & ret,
const ComplexD & r )

Definition at line 172 of file Simd.h.

References accelerator_inline, and timesI().

◆ timesMinusI() [3/4]

accelerator_inline void timesMinusI ( ComplexF & ret,
const ComplexF & r )

Definition at line 173 of file Simd.h.

References accelerator_inline, and timesMinusI().

◆ timesMinusI() [4/4]

accelerator_inline void timesMinusI ( ComplexD & ret,
const ComplexD & r )

Definition at line 174 of file Simd.h.

References accelerator_inline, and timesMinusI().

◆ mac() [3/5]

accelerator_inline void mac ( RealD *__restrict__ y,
const RealD *__restrict__ a,
const RealD *__restrict__ x )

Definition at line 176 of file Simd.h.

References accelerator_inline.

◆ mult() [3/5]

accelerator_inline void mult ( RealD *__restrict__ y,
const RealD *__restrict__ l,
const RealD *__restrict__ r )

Definition at line 177 of file Simd.h.

References accelerator_inline.

◆ sub() [3/5]

accelerator_inline void sub ( RealD *__restrict__ y,
const RealD *__restrict__ l,
const RealD *__restrict__ r )

Definition at line 178 of file Simd.h.

References accelerator_inline.

◆ add() [3/5]

accelerator_inline void add ( RealD *__restrict__ y,
const RealD *__restrict__ l,
const RealD *__restrict__ r )

Definition at line 179 of file Simd.h.

References accelerator_inline.

◆ mac() [4/5]

accelerator_inline void mac ( RealF *__restrict__ y,
const RealF *__restrict__ a,
const RealF *__restrict__ x )

Definition at line 181 of file Simd.h.

References accelerator_inline.

◆ mult() [4/5]

accelerator_inline void mult ( RealF *__restrict__ y,
const RealF *__restrict__ l,
const RealF *__restrict__ r )

Definition at line 182 of file Simd.h.

References accelerator_inline.

◆ sub() [4/5]

accelerator_inline void sub ( RealF *__restrict__ y,
const RealF *__restrict__ l,
const RealF *__restrict__ r )

Definition at line 183 of file Simd.h.

References accelerator_inline.

◆ add() [4/5]

accelerator_inline void add ( RealF *__restrict__ y,
const RealF *__restrict__ l,
const RealF *__restrict__ r )

Definition at line 184 of file Simd.h.

References accelerator_inline.

◆ vstream() [1/5]

accelerator_inline void vstream ( ComplexF & l,
const ComplexF & r )

Definition at line 186 of file Simd.h.

References accelerator_inline.

◆ vstream() [2/5]

accelerator_inline void vstream ( ComplexD & l,
const ComplexD & r )

Definition at line 187 of file Simd.h.

References accelerator_inline.

◆ vstream() [3/5]

accelerator_inline void vstream ( RealF & l,
const RealF & r )

Definition at line 188 of file Simd.h.

References accelerator_inline.

◆ vstream() [4/5]

accelerator_inline void vstream ( RealD & l,
const RealD & r )

Definition at line 189 of file Simd.h.

References accelerator_inline.

◆ toComplex() [1/2]

accelerator_inline ComplexD toComplex ( const RealD & in)

Definition at line 191 of file Simd.h.

References accelerator_inline.

◆ toComplex() [2/2]

accelerator_inline ComplexF toComplex ( const RealF & in)

Definition at line 192 of file Simd.h.

References accelerator_inline.

◆ zeroit() [1/6]

template<class itype>
accelerator_inline void zeroit ( itype & arg)

Definition at line 196 of file Simd.h.

References accelerator_inline.

◆ zeroit() [2/6]

template<>
accelerator_inline void zeroit ( ComplexF & arg)

Definition at line 197 of file Simd.h.

References accelerator_inline.

◆ zeroit() [3/6]

template<>
accelerator_inline void zeroit ( ComplexD & arg)

Definition at line 198 of file Simd.h.

References accelerator_inline.

◆ zeroit() [4/6]

template<>
accelerator_inline void zeroit ( RealF & arg)

Definition at line 199 of file Simd.h.

References accelerator_inline.

◆ zeroit() [5/6]

template<>
accelerator_inline void zeroit ( RealD & arg)

Definition at line 200 of file Simd.h.

References accelerator_inline.

◆ Reduce() [5/5]

accelerator_inline Integer Reduce ( const Integer & r)

Definition at line 203 of file Simd.h.

References accelerator_inline.

◆ mac() [5/5]

accelerator_inline void mac ( Integer *__restrict__ y,
const Integer *__restrict__ a,
const Integer *__restrict__ x )

Definition at line 204 of file Simd.h.

References accelerator_inline.

◆ mult() [5/5]

accelerator_inline void mult ( Integer *__restrict__ y,
const Integer *__restrict__ l,
const Integer *__restrict__ r )

Definition at line 205 of file Simd.h.

References accelerator_inline.

◆ sub() [5/5]

accelerator_inline void sub ( Integer *__restrict__ y,
const Integer *__restrict__ l,
const Integer *__restrict__ r )

Definition at line 206 of file Simd.h.

References accelerator_inline.

◆ add() [5/5]

accelerator_inline void add ( Integer *__restrict__ y,
const Integer *__restrict__ l,
const Integer *__restrict__ r )

Definition at line 207 of file Simd.h.

References accelerator_inline.

◆ vstream() [5/5]

accelerator_inline void vstream ( Integer & l,
const RealD & r )

Definition at line 208 of file Simd.h.

References accelerator_inline.

◆ zeroit() [6/6]

template<>
accelerator_inline void zeroit ( Integer & arg)

Definition at line 209 of file Simd.h.

References accelerator_inline.

◆ mod()

Definition at line 211 of file Simd.h.

References accelerator_inline.

◆ div()

Definition at line 212 of file Simd.h.

References accelerator_inline.

◆ Gpermute()

template<class VectorSIMD>
accelerator_inline void Gpermute ( VectorSIMD & y,
const VectorSIMD & b,
int perm )

References accelerator_inline, and perm.

◆ NAMESPACE_END()

NAMESPACE_END ( Grid )

◆ operator<<() [1/6]

std::ostream & operator<< ( std::ostream & stream,
const vComplexF & o )
inline

Definition at line 240 of file Simd.h.

References Grid_simd< complex< float >, SIMD_Ftype >::Nsimd().

◆ operator<<() [2/6]

std::ostream & operator<< ( std::ostream & stream,
const vComplexD & o )
inline

Definition at line 253 of file Simd.h.

References Grid_simd< complex< double >, SIMD_Dtype >::Nsimd().

◆ operator<<() [3/6]

std::ostream & operator<< ( std::ostream & stream,
const vComplexD2 & o )
inline

Definition at line 265 of file Simd.h.

References Grid_simd2< Scalar_type, Vector_type >::v.

◆ operator<<() [4/6]

std::ostream & operator<< ( std::ostream & stream,
const vRealF & o )
inline

Definition at line 273 of file Simd.h.

References Grid_simd< float, SIMD_Ftype >::Nsimd().

◆ operator<<() [5/6]

std::ostream & operator<< ( std::ostream & stream,
const vRealD & o )
inline

Definition at line 286 of file Simd.h.

References Grid_simd< double, SIMD_Dtype >::Nsimd().

◆ operator<<() [6/6]

std::ostream & operator<< ( std::ostream & stream,
const vInteger & o )
inline

Definition at line 298 of file Simd.h.

References Grid_simd< Integer, SIMD_Itype >::Nsimd().