Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du fichier RunCommandMaterialEnumerate.h

Types et macros pour gérer les énumérations des matériaux et milieux sur les accélérateurs. Plus de détails...

#include "arcane/utils/ArcaneCxx20.h"
#include "arcane/core/Concurrency.h"
#include "arcane/core/materials/ComponentItemVectorView.h"
#include "arcane/core/materials/MaterialsCoreGlobal.h"
#include "arcane/core/materials/MatItem.h"
#include "arcane/core/materials/MatItemEnumerator.h"
#include "arcane/accelerator/RunQueueInternal.h"
#include "arcane/accelerator/RunCommand.h"
#include "arcane/accelerator/RunCommandLaunchInfo.h"
+ Graphe des dépendances par inclusion de RunCommandMaterialEnumerate.h:
+ Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

Aller au code source de ce fichier.

Classes

class  Arcane::Accelerator::impl::MatCommandContainerBase
 
class  Arcane::Accelerator::impl::AllEnvCellRunCommand
 Commande pour itérer sur les AllEnvCell. Plus de détails...
 
class  Arcane::Accelerator::impl::AllEnvCellRunCommand::Container
 Conteneur contenant les informations nécessaires pour la commande. Plus de détails...
 
class  Arcane::Accelerator::impl::EnvCellRunCommand
 Commande pour itérer sur les EnvCell. Plus de détails...
 
class  Arcane::Accelerator::impl::EnvCellRunCommand::Container
 Conteneur contenant les informations nécessaires pour la commande. Plus de détails...
 
class  Arcane::Accelerator::impl::MatCellRunCommand
 Commande pour itérer sur les MatCell. Plus de détails...
 
class  Arcane::Accelerator::impl::MatCellRunCommand::Container
 Conteneur contenant les informations nécessaires pour la commande. Plus de détails...
 
class  Arcane::Accelerator::impl::EnvAndGlobalCellRunCommand
 Commande pour itérer sur les EnvCell et récupérer aussi l'information sur la maille globale associée. Plus de détails...
 
class  Arcane::Accelerator::impl::EnvAndGlobalCellRunCommand::Accessor
 Classe helper pour l'accès au MatVarIndex et au CellLocalId à travers les RUNCOMMAND_MAT_ENUMERATE(EnvAndGlobalCell... Plus de détails...
 
struct  Arcane::Accelerator::impl::EnvAndGlobalCellRunCommand::Accessor::Data
 Struct interne simple pour éviter l'usage d'un std::tuple pour l'opérateur() Plus de détails...
 
class  Arcane::Accelerator::impl::EnvAndGlobalCellRunCommand::Container
 Conteneur contenant les informations nécessaires pour la commande. Plus de détails...
 
class  Arcane::Accelerator::impl::MatAndGlobalCellRunCommand
 Commande pour itérer sur les MatCell et récupérer aussi l'information sur la maille globale associée. Plus de détails...
 
class  Arcane::Accelerator::impl::MatAndGlobalCellRunCommand::Accessor
 Classe helper pour l'accès au MatVarIndex et au CellLocalId à travers les RUNCOMMAND_MAT_ENUMERATE(EnvAndGlobalCell... Plus de détails...
 
struct  Arcane::Accelerator::impl::MatAndGlobalCellRunCommand::Accessor::Data
 Struct interne simple pour éviter l'usage d'un std::tuple pour l'opérateur() Plus de détails...
 
class  Arcane::Accelerator::impl::MatAndGlobalCellRunCommand::Container
 Conteneur contenant les informations nécessaires pour la commande. Plus de détails...
 
class  Arcane::Accelerator::impl::RunCommandMatItemEnumeratorTraitsT< Arcane::Materials::EnvAndGlobalCell >
 Spécialisation pour une vue sur un milieu et la maille globale associée. Plus de détails...
 
class  Arcane::Accelerator::impl::RunCommandMatItemEnumeratorTraitsT< Arcane::Materials::MatAndGlobalCell >
 Spécialisation pour une vue sur un matériau et la maille globale associée. Plus de détails...
 
class  Arcane::Accelerator::impl::RunCommandMatItemEnumeratorTraitsT< Arcane::Materials::AllEnvCell >
 Spécialisation pour une vue sur les AllEvnCell. Plus de détails...
 
class  Arcane::Accelerator::impl::RunCommandMatItemEnumeratorTraitsT< Arcane::Materials::EnvCell >
 Spécialisation pour une vue sur un milieu. Plus de détails...
 
class  Arcane::Accelerator::impl::RunCommandMatItemEnumeratorTraitsT< Arcane::Materials::MatCell >
 Spécialisation pour une vue sur un matériau. Plus de détails...
 
class  Arcane::Accelerator::impl::GenericMatCommandArgs< TraitsType, ReducerArgs >
 
class  Arcane::Accelerator::impl::GenericMatCommand< MatCommandType, ReducerArgs >
 

Espaces de nommage

namespace  Arcane
 -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
 
namespace  Arcane::Accelerator
 Espace de nom pour l'utilisation des accélérateurs.
 

Macros

#define RUNCOMMAND_MAT_ENUMERATE(MatItemNameType, iter_name, env_or_mat_vector, ...)
 Macro pour itérer sur un matériau ou un milieu.
 

Fonctions

template<typename ContainerType , typename Lambda , typename... ReducerArgs>
void Arcane::Accelerator::impl::_doMatItemsLambda (Int32 base_index, Int32 size, ContainerType items, const Lambda &func, ReducerArgs... reducer_args)
 
template<typename ContainerType , typename Lambda , typename... ReducerArgs>
void Arcane::Accelerator::impl::_applyEnvCells (RunCommand &command, ContainerType items, const Lambda &func, const ReducerArgs &... reducer_args)
 Applique l'énumération func sur la liste d'entité items.
 
template<typename MatCommandType , typename... ReducerArgs, typename Lambda >
void Arcane::Accelerator::impl::operator<< (const GenericMatCommand< MatCommandType, ReducerArgs... > &c, const Lambda &func)
 
template<typename MatItemType , typename MatItemContainerType , typename... ReducerArgs>
auto Arcane::Accelerator::impl::makeExtendedMatItemEnumeratorLoop (const MatItemContainerType &container, const ReducerArgs &... reducer_args)
 
template<typename TraitsType , typename... ReducerArgs>
auto Arcane::Accelerator::operator<< (RunCommand &command, const impl::GenericMatCommandArgs< TraitsType, ReducerArgs... > &args)
 
auto Arcane::Accelerator::operator<< (RunCommand &command, const impl::MatAndGlobalCellRunCommand::Container &view)
 
auto Arcane::Accelerator::operator<< (RunCommand &command, const impl::EnvAndGlobalCellRunCommand::Container &view)
 
auto Arcane::Accelerator::operator<< (RunCommand &command, const impl::EnvCellRunCommand::Container &view)
 
auto Arcane::Accelerator::operator<< (RunCommand &command, const impl::MatCellRunCommand::Container &view)
 

Description détaillée

Types et macros pour gérer les énumérations des matériaux et milieux sur les accélérateurs.

Définition dans le fichier RunCommandMaterialEnumerate.h.

Documentation des macros

◆ RUNCOMMAND_MAT_ENUMERATE

#define RUNCOMMAND_MAT_ENUMERATE (   MatItemNameType,
  iter_name,
  env_or_mat_vector,
  ... 
)
Valeur :
A_FUNCINFO << ::Arcane::Accelerator::impl::makeExtendedMatItemEnumeratorLoop<MatItemNameType>(env_or_mat_vector __VA_OPT__(, __VA_ARGS__)) \
__VA_OPT__(ARCANE_RUNCOMMAND_REDUCER_FOR_EACH(__VA_ARGS__)))
Caractéristiques d'un énumérateur d'une commande sur les matériaux/milieux.

Macro pour itérer sur un matériau ou un milieu.

Définition à la ligne 901 du fichier RunCommandMaterialEnumerate.h.

Documentation des fonctions

◆ _applyEnvCells()

template<typename ContainerType , typename Lambda , typename... ReducerArgs>
void Arcane::Accelerator::impl::_applyEnvCells ( RunCommand command,
ContainerType  items,
const Lambda func,
const ReducerArgs &...  reducer_args 
)

Applique l'énumération func sur la liste d'entité items.

Le conteneur peut être issu de:

  • EnvAndGlobalCellRunCommand
  • EnvCellRunCommand
  • MatAndGlobalCellRunCommand
  • MatCellRunCommand

Définition à la ligne 780 du fichier RunCommandMaterialEnumerate.h.

Références Arcane::Accelerator::impl::_applyEnvCells(), ARCANE_FATAL, Arcane::arcaneParallelFor(), Arcane::Accelerator::CUDA, Arcane::Accelerator::HIP, Arcane::Accelerator::Sequential, Arcane::Accelerator::SYCL, et Arcane::Accelerator::Thread.

Référencé par Arcane::Accelerator::impl::_applyEnvCells().

◆ _doMatItemsLambda()

template<typename ContainerType , typename Lambda , typename... ReducerArgs>
void Arcane::Accelerator::impl::_doMatItemsLambda ( Int32  base_index,
Int32  size,
ContainerType  items,
const Lambda func,
ReducerArgs...  reducer_args 
)

Définition à la ligne 706 du fichier RunCommandMaterialEnumerate.h.

◆ makeExtendedMatItemEnumeratorLoop()

template<typename MatItemType , typename MatItemContainerType , typename... ReducerArgs>
auto Arcane::Accelerator::impl::makeExtendedMatItemEnumeratorLoop ( const MatItemContainerType container,
const ReducerArgs &...  reducer_args 
)

Définition à la ligne 831 du fichier RunCommandMaterialEnumerate.h.

◆ operator<<()

template<typename MatCommandType , typename... ReducerArgs, typename Lambda >
void Arcane::Accelerator::impl::operator<< ( const GenericMatCommand< MatCommandType, ReducerArgs... > &  c,
const Lambda func 
)

Définition à la ligne 821 du fichier RunCommandMaterialEnumerate.h.