Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::AVX512SimdReal Class Reference

Vectorization of reals using AVX512 vectorization. More...

#include <arcane/utils/SimdAVX512.h>

Public Types

enum  { Length = 8 }
typedef AVXSimdX8Int32 Int32IndexType

Public Member Functions

 AVX512SimdReal (__m512d _v0)
 AVX512SimdReal (Real r)
 AVX512SimdReal (const Real *base, const Int32 *idx)
 AVX512SimdReal (const Real *base, const Int32IndexType *simd_idx)
 AVX512SimdReal (const Real *base, const Int32IndexType &simd_idx)
 AVX512SimdReal (const Real *base)
 Loads continuous values located at the address base which must be aligned.
Real operator[] (Integer i) const
Realoperator[] (Integer i)
void set (ARCANE_RESTRICT Real *base, const ARCANE_RESTRICT Int32 *idx) const
void set (ARCANE_RESTRICT Real *base, const Int32IndexType *simd_idx) const
void set (ARCANE_RESTRICT Real *base, const Int32IndexType &simd_idx) const
void set (ARCANE_RESTRICT Real *base) const
 Stores the instance values at the address base which must be aligned.
AVX512SimdReal operator- () const

Static Public Member Functions

static AVX512SimdReal fromScalar (Real a0, Real a1, Real a2, Real a3, Real a4, Real a5, Real a6, Real a7)

Public Attributes

__m512d v0

Static Public Attributes

static const int BLOCK_SIZE = 8

Protected Member Functions

 AVX512SimdReal (Real a7, Real a6, Real a5, Real a4, Real a3, Real a2, Real a1, Real a0)

Detailed Description

Vectorization of reals using AVX512 vectorization.

Definition at line 42 of file SimdAVX512.h.

Member Typedef Documentation

◆ Int32IndexType

typedef AVXSimdX8Int32 Arcane::AVX512SimdReal::Int32IndexType

Definition at line 51 of file SimdAVX512.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Definition at line 47 of file SimdAVX512.h.

Constructor & Destructor Documentation

◆ AVX512SimdReal() [1/8]

Arcane::AVX512SimdReal::AVX512SimdReal ( )
inline

Definition at line 56 of file SimdAVX512.h.

◆ AVX512SimdReal() [2/8]

Arcane::AVX512SimdReal::AVX512SimdReal ( __m512d _v0)
inline

Definition at line 57 of file SimdAVX512.h.

◆ AVX512SimdReal() [3/8]

Arcane::AVX512SimdReal::AVX512SimdReal ( Real r)
inlineexplicit

Definition at line 60 of file SimdAVX512.h.

◆ AVX512SimdReal() [4/8]

Arcane::AVX512SimdReal::AVX512SimdReal ( Real a7,
Real a6,
Real a5,
Real a4,
Real a3,
Real a2,
Real a1,
Real a0 )
inlineprotected

Definition at line 66 of file SimdAVX512.h.

◆ AVX512SimdReal() [5/8]

Arcane::AVX512SimdReal::AVX512SimdReal ( const Real * base,
const Int32 * idx )
inline

Definition at line 72 of file SimdAVX512.h.

◆ AVX512SimdReal() [6/8]

Arcane::AVX512SimdReal::AVX512SimdReal ( const Real * base,
const Int32IndexType * simd_idx )
inline

Definition at line 82 of file SimdAVX512.h.

◆ AVX512SimdReal() [7/8]

Arcane::AVX512SimdReal::AVX512SimdReal ( const Real * base,
const Int32IndexType & simd_idx )
inline

Definition at line 86 of file SimdAVX512.h.

◆ AVX512SimdReal() [8/8]

Arcane::AVX512SimdReal::AVX512SimdReal ( const Real * base)
inlineexplicit

Loads continuous values located at the address base which must be aligned.

Definition at line 96 of file SimdAVX512.h.

Member Function Documentation

◆ fromScalar()

AVX512SimdReal Arcane::AVX512SimdReal::fromScalar ( Real a0,
Real a1,
Real a2,
Real a3,
Real a4,
Real a5,
Real a6,
Real a7 )
inlinestatic

Definition at line 142 of file SimdAVX512.h.

◆ operator-()

AVX512SimdReal Arcane::AVX512SimdReal::operator- ( ) const
inline

Definition at line 148 of file SimdAVX512.h.

◆ operator[]() [1/2]

Real & Arcane::AVX512SimdReal::operator[] ( Integer i)
inline

Definition at line 101 of file SimdAVX512.h.

◆ operator[]() [2/2]

Real Arcane::AVX512SimdReal::operator[] ( Integer i) const
inline

Definition at line 100 of file SimdAVX512.h.

◆ set() [1/4]

void Arcane::AVX512SimdReal::set ( ARCANE_RESTRICT Real * base) const
inline

Stores the instance values at the address base which must be aligned.

Definition at line 137 of file SimdAVX512.h.

◆ set() [2/4]

void Arcane::AVX512SimdReal::set ( ARCANE_RESTRICT Real * base,
const ARCANE_RESTRICT Int32 * idx ) const
inline

Definition at line 104 of file SimdAVX512.h.

◆ set() [3/4]

void Arcane::AVX512SimdReal::set ( ARCANE_RESTRICT Real * base,
const Int32IndexType & simd_idx ) const
inline

Definition at line 127 of file SimdAVX512.h.

◆ set() [4/4]

void Arcane::AVX512SimdReal::set ( ARCANE_RESTRICT Real * base,
const Int32IndexType * simd_idx ) const
inline

Definition at line 122 of file SimdAVX512.h.

Member Data Documentation

◆ BLOCK_SIZE

const int Arcane::AVX512SimdReal::BLOCK_SIZE = 8
static

Definition at line 46 of file SimdAVX512.h.

◆ v0

__m512d Arcane::AVX512SimdReal::v0

Definition at line 55 of file SimdAVX512.h.


The documentation for this class was generated from the following file: