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

Aller au code source de ce fichier.

Classes

class  Arcane::ComponentPartSimdCellEnumerator
 Enumérateur SIMD sur une sous-partie (pure ou partielle) d'un sous-ensemble des mailles d'un composant (matériau ou milieu) Plus de détails...
 
class  Arcane::LoopFunctorEnvPartSimdCell
 
class  Arcane::MatVariableViewBase
 Classe de base des vues sur les variables. Plus de détails...
 
class  Arcane::MatItemVariableScalarInViewT< ItemType, DataType >
 Vue en lecture sur une variable scalaire du maillage. Plus de détails...
 
class  Arcane::MatItemVariableScalarOutViewT< ItemType, DataType >
 Vue en lecture sur une variable scalaire du maillage. Plus de détails...
 

Espaces de nommage

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

Macros

#define A_ALIGNED_64
 
#define ENUMERATE_SIMD_COMPONENTCELL(iname, env)    A_ENUMERATE_COMPONENTCELL(ComponentPartSimdCellEnumerator,iname,env)
 
#define ENUMERATE_COMPONENTITEM_LAMBDA(iter_type, iter, container)    Arcane::Materials:: LoopFunctor ## iter_type :: create ( (container) ) << [=]( Arcane::Materials:: LoopFunctor ## iter_type :: IterType iter)
 Macro pour itérer sur les entités d'un composant via une fonction lambda du C++11.
 

Fonctions

MATERIALS_BEGIN_NAMESPACE class Arcane::ARCANE_MATERIALS_EXPORT (64) SimdMatVarIndex
 Indexeur SIMD sur un composant.
 
template<typename Lambda >
void Arcane::simple_simd_env_loop (ComponentPartItemVectorView pure_items, ComponentPartItemVectorView impure_items, const Lambda &lambda)
 
template<typename DataType >
MatItemVariableScalarInViewT< Cell, DataType > Arcane::viewIn (const CellMaterialVariableScalarRef< DataType > &var)
 Vue en lecture.
 
template<typename DataType >
MatItemVariableScalarOutViewT< Cell, DataType > Arcane::viewOut (CellMaterialVariableScalarRef< DataType > &var)
 Vue en écriture.
 

Description détaillée

Ce fichier contient les différents types pour gérer la vectorisation sur les composants (matériaux et milieux).

Définition dans le fichier ComponentSimd.h.

Documentation des macros

◆ A_ALIGNED_64

#define A_ALIGNED_64

Définition à la ligne 36 du fichier ComponentSimd.h.

◆ ENUMERATE_COMPONENTITEM_LAMBDA

#define ENUMERATE_COMPONENTITEM_LAMBDA (   iter_type,
  iter,
  container 
)     Arcane::Materials:: LoopFunctor ## iter_type :: create ( (container) ) << [=]( Arcane::Materials:: LoopFunctor ## iter_type :: IterType iter)

Macro pour itérer sur les entités d'un composant via une fonction lambda du C++11.

Les arguments sont les mêmes que pour la macro ENUMERATE_COMPONENTITEM().

Le code après la macro correspond au corps de la fonction lambda du C++11. Il doit donc être compris entre deux accolades '{' '}' et se terminer par un point-virgule ';'. Par exemple:

};
#define ENUMERATE_COMPONENTITEM_LAMBDA(iter_type, iter, container)
Macro pour itérer sur les entités d'un composant via une fonction lambda du C++11.
Note
Même si le code est similaire à celui d'une boucle, il s'agit d'une fonction lambda du C++11 et donc il n'est pas possible d'utiliser des mots clés comme 'break' ou 'continue'. Si on souhaite arrêtre une itération il faut utiliser le mot clé 'return'.

Définition à la ligne 179 du fichier ComponentSimd.h.

◆ ENUMERATE_SIMD_COMPONENTCELL

#define ENUMERATE_SIMD_COMPONENTCELL (   iname,
  env 
)     A_ENUMERATE_COMPONENTCELL(ComponentPartSimdCellEnumerator,iname,env)

Définition à la ligne 113 du fichier ComponentSimd.h.