12#ifndef ARCANE_ACCELERATOR_CORE_RUNQUEUE_H
13#define ARCANE_ACCELERATOR_CORE_RUNQUEUE_H
17#include "arcane/utils/AutoRef.h"
19#include "arcane/accelerator/core/RunCommand.h"
61 friend class impl::CudaUtils;
62 friend class impl::HipUtils;
63 friend class impl::SyclUtils;
77 m_is_async = m_queue->isAsync();
78 m_queue->setAsync(
true);
85 m_queue->setAsync(m_is_async);
91 bool m_is_async =
false;
103 ARCANE_DEPRECATED_REASON(
"Y2024: Use makeQueue(runner) instead")
106 ARCANE_DEPRECATED_REASON("
Y2024: Use makeQueue(runner,
bi)
instead")
119 bool isNull()
const {
return !m_p; }
135 void setAsync(
bool v);
137 bool isAsync()
const;
150 void barrier()
const;
211 void setConcurrentCommandCreation(
bool v);
213 bool isConcurrentCommandCreation()
const;
236 return q1.m_p.get() ==
q2.m_p.get();
240 return q1.m_p.get() !=
q2.m_p.get();
245 impl::RunQueueImpl* _internalImpl()
const;
255 explicit RunQueue(impl::RunQueueImpl*
p);
259 impl::IRunnerRuntime* _internalRuntime()
const;
260 impl::IRunQueueStream* _internalStream()
const;
261 impl::RunCommandImpl* _getCommandImpl()
const;
262 impl::NativeStream _internalNativeStream()
const;
263 void _checkNotNull()
const;
#define ARCANE_CHECK_POINTER(ptr)
Macro retournant le pointeur ptr s'il est non nul ou lancant une exception s'il est nul.
Arguments pour la copie mémoire.
Arguments pour le préfetching mémoire.
Classe de base des vues sur les 'NumArray'.
Région pour le profiling.
Gestion d'une commande sur accélérateur.
Informations pour créer une RunQueue.
Evènement pour une file d'exécution.
Permet de modifier l'asynchronisme de la file pendant la durée de vie de l'instance.
File d'exécution pour un accélérateur.
ARCANE_DEPRECATED_REASON("Y2024: Use toCudaNativeStream(), toHipNativeStream() or toSyclNativeStream() instead") void *platformStream() const
Pointeur sur la structure interne dépendante de l'implémentation.
Gestionnaire d'exécution pour accélérateur.
Classe de base des vues sur les variables.
Informations pour construire une vue pour les données sur accélérateur.
Object temporaire pour conserver les informations d'exécution d'une commande et regrouper les tests.
Vue typée sur une liste d'entités d'une connectivité.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Options pour configurer les allocations.
Espace de nom pour l'utilisation des accélérateurs.
RunCommand makeCommand(const RunQueue &run_queue)
Créé une commande associée à la file run_queue.
eExecutionPolicy
Politique d'exécution pour un Runner.
bool isAcceleratorPolicy(eExecutionPolicy exec_policy)
Indique si exec_policy correspond à un accélérateur.
eMemoryResource
Liste des ressources mémoire disponibles.