Gère un groupe de WorkItem dans un WorkGroupLoopRange pour l'hôte.
Plus de détails...
#include <arcane/accelerator/WorkGroupLoopRange.h>
|
| static constexpr bool | isDevice () |
| | Indique si on s'exécute sur un accélérateur.
|
| |
Gère un groupe de WorkItem dans un WorkGroupLoopRange pour l'hôte.
Contraitement à l'exécution sur accélérateur ou un seul WorkItem est actif, l'hôte doit gérer un ensemble de WorkItem.
Pour l'hôte, un bloc de WorkItem correspond toujours à l'ensemble des WorkItem d'un groupe du WorkGroupLoopRange associé. Cela signifie que nbActiveItem()==WorkGroupLoopRange::groupSize() (sauf pour le dernier élément de l'itération si le nombre total d'élément n'est pas un multiple de la taille d'un groupe).
Définition à la ligne 86 du fichier WorkGroupLoopRange.h.
◆ HostWorkItemGroup()
| __host__ __device__ Arcane::Accelerator::HostWorkItemGroup::HostWorkItemGroup |
( |
Int32 | loop_index, |
|
|
Int32 | group_index, |
|
|
Int32 | group_size, |
|
|
Int32 | nb_active_item ) |
|
inlineexplicitconstexprprivate |
◆ activeItem()
| WorkItem Arcane::Accelerator::HostWorkItemGroup::activeItem |
( |
Int32 | index | ) |
const |
|
inline |
◆ activeWorkItemRankInGroup()
| Int32 Arcane::Accelerator::HostWorkItemGroup::activeWorkItemRankInGroup |
( |
| ) |
const |
|
inlineconstexpr |
◆ barrier()
| void Arcane::Accelerator::HostWorkItemGroup::barrier |
( |
| ) |
|
|
inline |
◆ groupRank()
| Int32 Arcane::Accelerator::HostWorkItemGroup::groupRank |
( |
| ) |
const |
|
inlineconstexpr |
◆ groupSize()
| Int32 Arcane::Accelerator::HostWorkItemGroup::groupSize |
( |
| ) |
const |
|
inlineconstexpr |
◆ isDevice()
| static constexpr bool Arcane::Accelerator::HostWorkItemGroup::isDevice |
( |
| ) |
|
|
inlinestaticconstexpr |
◆ nbActiveItem()
| Int32 Arcane::Accelerator::HostWorkItemGroup::nbActiveItem |
( |
| ) |
const |
|
inlineconstexpr |
◆ DeviceWorkItemBlock
| friend Arcane::Accelerator::HostWorkItemGroup::DeviceWorkItemBlock |
|
private |
◆ m_group_index
| Int32 Arcane::Accelerator::HostWorkItemGroup::m_group_index = 0 |
|
private |
◆ m_group_size
| Int32 Arcane::Accelerator::HostWorkItemGroup::m_group_size = 0 |
|
private |
◆ m_loop_index
| Int32 Arcane::Accelerator::HostWorkItemGroup::m_loop_index = 0 |
|
private |
◆ m_nb_active_item
| Int32 Arcane::Accelerator::HostWorkItemGroup::m_nb_active_item = 0 |
|
private |
◆ SyclDeviceWorkItemBlock
| friend Arcane::Accelerator::HostWorkItemGroup::SyclDeviceWorkItemBlock |
|
private |
◆ WorkGroupLoopContext
| friend Arcane::Accelerator::HostWorkItemGroup::WorkGroupLoopContext |
|
private |
La documentation de cette classe a été générée à partir du fichier suivant :