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

Vectorization of reals using AVX512 vectorization. More...

#include <arcane/utils/SimdAVX512.h>

Collaboration diagram for Arcane::AVX512SimdReal:

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)

Private Member Functions

void operator= (Real _v)

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: