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/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/core/materials/ConstituentItemIndexedSelectionView.h"#include "arcane/accelerator/KernelLauncher.h"#include "arcane/accelerator/RunCommand.h"#include "arcane/accelerator/RunCommandLaunchInfo.h"#include "arccore/common/HostKernelRemainingArgsHelper.h"Aller au code source de ce fichier.
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 | A_RUNCOMMAND_MAT_ENUMERATE_BUILDER_HELPER(ConstituentItemNameType, env_or_mat_container, ...) |
| #define | RUNCOMMAND_MAT_ENUMERATE(ConstituentItemNameType, iter_name, env_or_mat_container, ...) |
| Macro pour itérer sur un matériau ou un milieu. | |
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 (ConstituentItemType x, const ConstituentItemContainerType &container, const RemainingArgs &... remaining_args) |
| Accelerator::Impl::EnvAndGlobalCellRunCommandContainer | Arcane::Materials::arcaneCreateRunCommandMaterialContainer (Arcane::Materials::EnvAndGlobalCell, Arcane::Materials::IMeshEnvironment *env) |
| Spécialisation pour une vue sur un milieu et la maille globale associée. | |
| Accelerator::Impl::EnvAndGlobalCellRunCommandContainer | Arcane::Materials::arcaneCreateRunCommandMaterialContainer (Arcane::Materials::EnvAndGlobalCell, Arcane::Materials::EnvCellVectorView view) |
| Accelerator::Impl::MatAndGlobalCellRunCommandContainer | Arcane::Materials::arcaneCreateRunCommandMaterialContainer (MatAndGlobalCell, IMeshMaterial *mat) |
| Spécialisation pour une vue sur un matériau et la maille globale associée. | |
| Accelerator::Impl::MatAndGlobalCellRunCommandContainer | Arcane::Materials::arcaneCreateRunCommandMaterialContainer (MatAndGlobalCell, MatCellVectorView mat) |
| Accelerator::Impl::AllEnvCellRunCommandContainer | Arcane::Materials::arcaneCreateRunCommandMaterialContainer (AllEnvCell, AllEnvCellVectorView items) |
| Spécialisation pour une vue sur les AllEvnCell. | |
| Accelerator::Impl::EnvCellRunCommandContainer | Arcane::Materials::arcaneCreateRunCommandMaterialContainer (EnvCell, IMeshEnvironment *env) |
| Spécialisation pour une vue sur un milieu. | |
| Accelerator::Impl::EnvCellRunCommandContainer | Arcane::Materials::arcaneCreateRunCommandMaterialContainer (EnvCell, EnvCellVectorView view) |
| Accelerator::Impl::MatCellRunCommandContainer | Arcane::Materials::arcaneCreateRunCommandMaterialContainer (MatCell, IMeshMaterial *mat) |
| Spécialisation pour une vue sur un matériau. | |
| Accelerator::Impl::MatCellRunCommandContainer | Arcane::Materials::arcaneCreateRunCommandMaterialContainer (MatCell, MatCellVectorView view) |
| Accelerator::Impl::EnvIndexedSelectionRunCommandContainer | Arcane::Materials::arcaneCreateRunCommandMaterialContainer (EnvCell, EnvCellVectorSelectionView view) |
| 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::MatAndGlobalCellRunCommandContainer &view) |
| auto | Arcane::Accelerator::operator<< (RunCommand &command, const Impl::EnvAndGlobalCellRunCommandContainer &view) |
| auto | Arcane::Accelerator::operator<< (RunCommand &command, const Impl::EnvCellRunCommandContainer &view) |
| auto | Arcane::Accelerator::operator<< (RunCommand &command, const Impl::MatCellRunCommandContainer &view) |
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.
| #define A_RUNCOMMAND_MAT_ENUMERATE_BUILDER_HELPER | ( | ConstituentItemNameType, | |
| env_or_mat_container, | |||
| ... ) |
Définition à la ligne 737 du fichier RunCommandMaterialEnumerate.h.
| #define RUNCOMMAND_MAT_ENUMERATE | ( | ConstituentItemNameType, | |
| iter_name, | |||
| env_or_mat_container, | |||
| ... ) |
Macro pour itérer sur un matériau ou un milieu.
| ConstituentItemNameType | est le type de l'énumérateur. |
| iter_name | est le nom de l'itérateur |
| env_or_mat_container | est le conteneur sur lequel on itère. |
Les paramètres supplémentaires sont utilisés pour les réductions (voir arcanedoc_acceleratorapi_reduction)
ConstituentItemNameType doit être une des valeurs suivantes:
Voir arcanedoc_acceleratorapi_materials pour plus d'informations.
Définition à la ligne 760 du fichier RunCommandMaterialEnumerate.h.
| using Arcane::Accelerator::Impl::EnvAndGlobalCellRunCommandContainer = ConstituentAndGlobalCellRunCommandContainer<Arcane::Materials::EnvItemLocalId, Arcane::Materials::EnvCellVectorView> |
Définition à la ligne 316 du fichier RunCommandMaterialEnumerate.h.
| using Arcane::Accelerator::Impl::EnvCellRunCommandContainer = ConstituentRunCommandContainer<Arcane::Materials::EnvItemLocalId, Arcane::Materials::EnvCellVectorView> |
Définition à la ligne 277 du fichier RunCommandMaterialEnumerate.h.
| using Arcane::Accelerator::Impl::EnvIndexedSelectionRunCommandContainer = ConstituentIndexedSelectionRunCommandContainer<Arcane::Materials::EnvItemLocalId, Arcane::Materials::EnvCellVectorSelectionView> |
Définition à la ligne 360 du fichier RunCommandMaterialEnumerate.h.
| using Arcane::Accelerator::Impl::MatAndGlobalCellRunCommandContainer = ConstituentAndGlobalCellRunCommandContainer<Arcane::Materials::MatItemLocalId, Arcane::Materials::MatCellVectorView> |
Définition à la ligne 317 du fichier RunCommandMaterialEnumerate.h.
| using Arcane::Accelerator::Impl::MatCellRunCommandContainer = ConstituentRunCommandContainer<Arcane::Materials::MatItemLocalId, Arcane::Materials::MatCellVectorView> |
Définition à la ligne 278 du fichier RunCommandMaterialEnumerate.h.
| 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.
Le conteneur peut être issu de:
Définition à la ligne 505 du fichier RunCommandMaterialEnumerate.h.
Références Arcane::arcaneParallelFor(), ARCCORE_FATAL, Arcane::Accelerator::Impl::RunCommandLaunchInfo::beginExecute(), Arcane::Accelerator::CUDA, Arcane::Accelerator::Impl::RunCommandLaunchInfo::endExecute(), Arcane::Accelerator::HIP, Arcane::Accelerator::Sequential, Arcane::Accelerator::SYCL, et Arcane::Accelerator::Thread.
| void Arcane::Accelerator::Impl::_doConstituentItemsLambda | ( | Int32 | base_index, |
| Int32 | size, | ||
| ContainerType | items, | ||
| const Lambda & | func, | ||
| RemainingArgs... | remaining_args ) |
Définition à la ligne 427 du fichier RunCommandMaterialEnumerate.h.
| auto Arcane::Accelerator::Impl::makeExtendedConstituentItemEnumeratorLoop | ( | ConstituentItemType | x, |
| const ConstituentItemContainerType & | container, | ||
| const RemainingArgs &... | remaining_args ) |
Définition à la ligne 563 du fichier RunCommandMaterialEnumerate.h.
| void Arcane::Accelerator::Impl::operator<< | ( | const GenericConstituentCommand< ConstituentCommandType, RemainingArgs... > & | c, |
| const Lambda & | func ) |
Définition à la ligne 547 du fichier RunCommandMaterialEnumerate.h.