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"
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::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) |
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 RUNCOMMAND_MAT_ENUMERATE | ( | MatItemNameType, | |
iter_name, | |||
env_or_mat_vector, | |||
... | |||
) |
Macro pour itérer sur un matériau ou un milieu.
Définition à la ligne 901 du fichier RunCommandMaterialEnumerate.h.
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:
Définition à la ligne 780 du fichier RunCommandMaterialEnumerate.h.
Références Arcane::Accelerator::impl::_applyEnvCells(), ARCANE_FATAL, Arcane::arcaneParallelFor(), Arcane::Accelerator::impl::RunCommandLaunchInfo::beginExecute(), Arcane::Accelerator::impl::RunCommandLaunchInfo::computeLoopRunInfo(), Arcane::Accelerator::CUDA, Arcane::Accelerator::impl::RunCommandLaunchInfo::endExecute(), Arcane::Accelerator::HIP, Arcane::Accelerator::impl::RunCommandLaunchInfo::loopRunInfo(), Arcane::Accelerator::Sequential, Arcane::Accelerator::SYCL, et Arcane::Accelerator::Thread.
Référencé par Arcane::Accelerator::impl::_applyEnvCells().
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.
auto Arcane::Accelerator::impl::makeExtendedMatItemEnumeratorLoop | ( | const MatItemContainerType & | container, |
const ReducerArgs &... | reducer_args | ||
) |
Définition à la ligne 831 du fichier RunCommandMaterialEnumerate.h.
void Arcane::Accelerator::impl::operator<< | ( | const GenericMatCommand< MatCommandType, ReducerArgs... > & | c, |
const Lambda & | func | ||
) |
Définition à la ligne 821 du fichier RunCommandMaterialEnumerate.h.