Arcane  v3.15.0.0
Documentation utilisateur
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/KernelLauncher.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::Materials::ConstituentAndGlobalCellIteratorValue< ConstituentItemLocalIdType_ >
 Index d'une boucle accélérateur sur les matériaux ou milieux. Plus de détails...
 
struct  Arcane::Materials::ConstituentAndGlobalCellIteratorValue< ConstituentItemLocalIdType_ >::Data
 Struct interne simple pour éviter l'usage d'un std::tuple pour l'opérateur() Plus de détails...
 
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::ConstituentCommandContainerBase
 
class  Arcane::Accelerator::impl::ConstituentRunCommandBase< ConstituentItemLocalIdType_, ContainerCreateViewType_ >
 Commande pour itérer sur les EnvCell ou MatCell. Plus de détails...
 
class  Arcane::Accelerator::impl::ConstituentRunCommandBase< ConstituentItemLocalIdType_, ContainerCreateViewType_ >::Container
 Conteneur contenant les informations nécessaires pour la commande. Plus de détails...
 
class  Arcane::Accelerator::impl::ConstituentAndGlobalCellRunCommandBase< ConstituentItemLocalIdType_, ContainerCreateViewType_ >
 Classe pour les commandes MatAndGlobalCell et EnvAndGlobalCell. Plus de détails...
 
class  Arcane::Accelerator::impl::ConstituentAndGlobalCellRunCommandBase< ConstituentItemLocalIdType_, ContainerCreateViewType_ >::Container
 Conteneur contenant les informations nécessaires pour la commande. Plus de détails...
 
class  Arcane::Accelerator::impl::RunCommandConstituentItemTraitsBaseT< CommandType_ >
 Classe de base des caractéristiques des commandes sur les constituants. Plus de détails...
 
class  Arcane::Accelerator::impl::RunCommandConstituentItemEnumeratorTraitsT< 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::RunCommandConstituentItemEnumeratorTraitsT< 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::RunCommandConstituentItemEnumeratorTraitsT< Arcane::Materials::AllEnvCell >
 Spécialisation pour une vue sur les AllEvnCell. Plus de détails...
 
class  Arcane::Accelerator::impl::RunCommandConstituentItemEnumeratorTraitsT< Arcane::Materials::EnvCell >
 Spécialisation pour une vue sur un milieu. Plus de détails...
 
class  Arcane::Accelerator::impl::RunCommandConstituentItemEnumeratorTraitsT< Arcane::Materials::MatCell >
 Spécialisation pour une vue sur un matériau. Plus de détails...
 
class  Arcane::Accelerator::impl::GenericConstituentCommandArgs< TraitsType, RemainingArgs >
 
class  Arcane::Accelerator::impl::GenericConstituentCommand< ConstituentCommandType, RemainingArgs >
 

Espaces de nommage

namespace  Arcane
 -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
 
namespace  Arcane::Materials
 Active toujours les traces dans les parties Arcane concernant les matériaux.
 
namespace  Arcane::Accelerator
 Espace de nom pour l'utilisation des accélérateurs.
 

Macros

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

Définitions de type

using Arcane::Materials::EnvAndGlobalCellIteratorValue = ConstituentAndGlobalCellIteratorValue< EnvItemLocalId >
 Type de la valeur de l'itérateur pour RUNCOMMAND_MAT_ENUMERATE(EnvAndGlobalCell,...)
 
using Arcane::Materials::MatAndGlobalCellIteratorValue = ConstituentAndGlobalCellIteratorValue< MatItemLocalId >
 Type de la valeur de l'itérateur pour RUNCOMMAND_MAT_ENUMERATE(MatAndGlobalCell,...)
 
using Arcane::Accelerator::impl::EnvCellRunCommand = ConstituentRunCommandBase< Arcane::Materials::EnvItemLocalId, Arcane::Materials::EnvCellVectorView >
 
using Arcane::Accelerator::impl::MatCellRunCommand = ConstituentRunCommandBase< Arcane::Materials::MatItemLocalId, Arcane::Materials::MatCellVectorView >
 
using Arcane::Accelerator::impl::EnvAndGlobalCellRunCommand = ConstituentAndGlobalCellRunCommandBase< Arcane::Materials::EnvItemLocalId, Arcane::Materials::EnvCellVectorView >
 
using Arcane::Accelerator::impl::MatAndGlobalCellRunCommand = ConstituentAndGlobalCellRunCommandBase< Arcane::Materials::MatItemLocalId, Arcane::Materials::MatCellVectorView >
 

Fonctions

template<typename ContainerType , typename Lambda , typename... RemainingArgs>
void Arcane::Accelerator::impl::_doConstituentItemsLambda (Int32 base_index, Int32 size, ContainerType items, const Lambda &func, RemainingArgs... remaining_args)
 
template<typename ContainerType , typename Lambda , typename... RemainingArgs>
void Arcane::Accelerator::impl::_applyConstituentCells (RunCommand &command, ContainerType items, const Lambda &func, const RemainingArgs &... remaining_args)
 Applique l'énumération func sur la liste d'entité items.
 
template<typename ConstituentCommandType , typename... RemainingArgs, typename Lambda >
void Arcane::Accelerator::impl::operator<< (const GenericConstituentCommand< ConstituentCommandType, RemainingArgs... > &c, const Lambda &func)
 
template<typename ConstituentItemType , typename ConstituentItemContainerType , typename... RemainingArgs>
auto Arcane::Accelerator::impl::makeExtendedConstituentItemEnumeratorLoop (const ConstituentItemContainerType &container, const RemainingArgs &... remaining_args)
 
template<typename TraitsType , typename... RemainingArgs>
auto Arcane::Accelerator::operator<< (RunCommand &command, const impl::GenericConstituentCommandArgs< TraitsType, RemainingArgs... > &args)
 
auto Arcane::Accelerator::operator<< (RunCommand &command, const impl::MatAndGlobalCellRunCommand::Container &view)
 
auto Arcane::Accelerator::operator<< (RunCommand &command, const impl::EnvCellRunCommand::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 (   ConstituentItemNameType,
  iter_name,
  env_or_mat_container,
  ... 
)
Valeur :
A_FUNCINFO << ::Arcane::Accelerator::impl::makeExtendedConstituentItemEnumeratorLoop<ConstituentItemNameType>(env_or_mat_container __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.

Paramètres
ConstituentItemNameTypeest le type de l'énumérateur.
iter_nameest le nom de l'itérateur
env_or_mat_containerest le conteneur sur lequel on itère.

Les paramètres supplémentaires sont utilisés pour les réductions (voir Réductions)

ConstituentItemNameType doit être une des valeurs suivantes:

  • EnvAndGlobalCell
  • EnvCell
  • MatAndGlobalCell
  • MatCell
  • AllEnvCell

Voir Utilisation pour les matériaux pour plus d'informations.

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

Documentation des définitions de type

◆ EnvAndGlobalCellRunCommand

◆ EnvCellRunCommand

◆ MatAndGlobalCellRunCommand

◆ MatCellRunCommand

Documentation des fonctions

◆ _applyConstituentCells()

template<typename ContainerType , typename Lambda , typename... RemainingArgs>
void Arcane::Accelerator::impl::_applyConstituentCells ( RunCommand command,
ContainerType  items,
const Lambda &  func,
const RemainingArgs &...  remaining_args 
)

◆ _doConstituentItemsLambda()

template<typename ContainerType , typename Lambda , typename... RemainingArgs>
void Arcane::Accelerator::impl::_doConstituentItemsLambda ( Int32  base_index,
Int32  size,
ContainerType  items,
const Lambda &  func,
RemainingArgs...  remaining_args 
)

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

◆ makeExtendedConstituentItemEnumeratorLoop()

template<typename ConstituentItemType , typename ConstituentItemContainerType , typename... RemainingArgs>
auto Arcane::Accelerator::impl::makeExtendedConstituentItemEnumeratorLoop ( const ConstituentItemContainerType &  container,
const RemainingArgs &...  remaining_args 
)

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

◆ operator<<()

template<typename ConstituentCommandType , typename... RemainingArgs, typename Lambda >
void Arcane::Accelerator::impl::operator<< ( const GenericConstituentCommand< ConstituentCommandType, RemainingArgs... > &  c,
const Lambda &  func 
)

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