Arcane  v4.1.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du fichier RunCommandLaunch.h

Types et macros pour gérer le parallélisme hiérarchique sur les accélérateurs. Plus de détails...

#include "arcane/accelerator/RunCommandLaunchImpl.h"
+ Graphe des dépendances par inclusion de RunCommandLaunch.h:
+ Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :

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_LAUNCH(iter_name, bounds, ...)
 Macro pour lancer une commande utilisant le parallélisme hiérarchique.
 

Fonctions

WorkGroupLoopRange Arcane::Accelerator::makeWorkGroupLoopRange (RunCommand &command, Int32 nb_group, Int32 group_size)
 Créé un intervalle d'itération pour la commande command.
 
WorkGroupLoopRange Arcane::Accelerator::makeWorkGroupLoopRange (RunCommand &command, Int32 nb_element, Int32 nb_group, Int32 group_size)
 Créé un intervalle d'itération pour la commande command.
 

Description détaillée

Types et macros pour gérer le parallélisme hiérarchique sur les accélérateurs.

Définition dans le fichier RunCommandLaunch.h.

Documentation des macros

◆ RUNCOMMAND_LAUNCH

#define RUNCOMMAND_LAUNCH ( iter_name,
bounds,
... )
Valeur :
A_FUNCINFO << ::Arcane::Accelerator::impl::makeExtendedLoop(bounds __VA_OPT__(, __VA_ARGS__)) \
<< [=] ARCCORE_HOST_DEVICE(typename decltype(bounds)::LoopIndexType iter_name __VA_OPT__(ARCANE_RUNCOMMAND_REDUCER_FOR_EACH(__VA_ARGS__)))

Macro pour lancer une commande utilisant le parallélisme hiérarchique.

bounds doit être une instance de Arcane::Accelerator::WorkGroupLoopRange. La création de ces instances se fait via l'appel à Arcane::Accelerator::makeWorkGroupLoopRange().

iter_name sera du type Arcane::Accelerator::WorkGroupLoopContext sauf pour la politique d'exécution Arcane::Accelerator::eExecutionPolicy::SYCL où il sera du type Arcane::Accelerator::SyclWorkGroupLoopContext.

Définition à la ligne 77 du fichier RunCommandLaunch.h.