Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du fichier SimdItem.h
#include "arcane/utils/Simd.h"
#include "arcane/ItemEnumerator.h"
+ Graphe des dépendances par inclusion de SimdItem.h:
+ Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Aller au code source de ce fichier.

Classes

class  Arcane::SimdItemBase
 Classe gérant un vecteur SIMD d'entité. Plus de détails...
 
class  Arcane::SimdItemDirectBase
 
class  Arcane::SimdItemIndexT< ItemType >
 Index vectoriel avec indirection pour un type d'entité. TODO: stocker les index dans un registre vectoriel pour pouvoir faire le gather rapidement. Pour cela, faire l'equivalent de AVXSimdReal pour les Int32. Plus de détails...
 
class  Arcane::SimdItemDirectIndexT< ItemType >
 Index vectoriel sans indirection pour un type d'entité Plus de détails...
 
class  Arcane::SimdItem
 Gère un vecteur d'entité Item. Plus de détails...
 
class  Arcane::SimdItemT< ItemType >
 Gère un vecteur d'entité ItemType. Plus de détails...
 
class  Arcane::SimdItemDirectT< ItemType >
 Gère un vecteur d'entité ItemType. Plus de détails...
 
class  Arcane::SimdSetter< DataType >
 
class  Arcane::SimdDirectSetter< DataType >
 Objet permettant de positionner les valeurs d'un vecteur SIMD. Plus de détails...
 
class  Arcane::SimdItemEnumeratorBase
 Classe de base des énumérateurs sur les entités vectortielles (SimdItem). Plus de détails...
 
class  Arcane::SimdItemEnumeratorT< ItemType >
 Enumérateur sur une liste d'entités. Plus de détails...
 
class  Arcane::SimdItemEnumeratorContainerTraits< ItemType >
 

Espaces de nommage

namespace  Arcane
 -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
 

Macros

#define ENUMERATE_SIMD_(type, iname, view)    for (A_TRACE_ITEM_ENUMERATOR(SimdItemEnumeratorT<type>) iname(::Arcane::SimdItemEnumeratorContainerTraits<type>::getSimdEnumerator(view) A_TRACE_ENUMERATOR_WHERE); iname.hasNext(); ++iname)
 
#define ENUMERATE_SIMD_GENERIC(type, iname, view)    ENUMERATE_SIMD_(type,iname,view)
 
#define ENUMERATE_SIMD_NODE(name, group)   ENUMERATE_SIMD_(::Arcane::Node, name, group)
 Enumérateur SIMD sur un groupe ou liste de noeuds.
 
#define ENUMERATE_SIMD_EDGE(name, group)   ENUMERATE_SIMD_(::Arcane::Edge, name, group)
 Enumérateur SIMD sur un groupe ou liste d'arêtes.
 
#define ENUMERATE_SIMD_FACE(name, group)   ENUMERATE_SIMD_(::Arcane::Face, name, group)
 Enumérateur SIMD sur un groupe ou liste de faces.
 
#define ENUMERATE_SIMD_CELL(name, group)   ENUMERATE_SIMD_(::Arcane::Cell, name, group)
 Enumérateur SIMD sur un groupe ou liste de mailles.
 
#define ENUMERATE_SIMD_PARTICLE(name, group)   ENUMERATE_SIMD_(::Arcane::Particle, name, group)
 Enumérateur SIMD sur un groupe ou liste de particles.
 

Définitions de type

typedef SimdItemT< NodeArcane::SimdNode
 Vecteur SIMD de Node.
 
typedef SimdItemT< EdgeArcane::SimdEdge
 Vecteur SIMD de Edge.
 
typedef SimdItemT< FaceArcane::SimdFace
 Vecteur SIMD de Face.
 
typedef SimdItemT< CellArcane::SimdCell
 Vecteur SIMD de Cell.
 
typedef SimdItemT< ParticleArcane::SimdParticle
 Vecteur SIMD de Particle.
 

Description détaillée

Ce fichier contient les déclarations des types pour gérer la vectorisation avec les entités (Item) du maillage.

Définition dans le fichier SimdItem.h.

Documentation des macros

◆ ENUMERATE_SIMD_

#define ENUMERATE_SIMD_ (   type,
  iname,
  view 
)     for (A_TRACE_ITEM_ENUMERATOR(SimdItemEnumeratorT<type>) iname(::Arcane::SimdItemEnumeratorContainerTraits<type>::getSimdEnumerator(view) A_TRACE_ENUMERATOR_WHERE); iname.hasNext(); ++iname)

Définition à la ligne 550 du fichier SimdItem.h.

◆ ENUMERATE_SIMD_GENERIC

#define ENUMERATE_SIMD_GENERIC (   type,
  iname,
  view 
)     ENUMERATE_SIMD_(type,iname,view)

Définition à la ligne 554 du fichier SimdItem.h.