Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du fichier AcceleratorCoreGlobal.h
#include "arcane/utils/UtilsTypes.h"
#include <iosfwd>
+ Graphe des dépendances par inclusion de AcceleratorCoreGlobal.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 ARCANE_ACCELERATOR_CORE_EXPORT   ARCANE_IMPORT
 
#define ARCANE_CHECK_ACCESSIBLE_POINTER_ALWAYS(queue_or_runner_or_policy, ptr)    ::Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible((queue_or_runner_or_policy), (ptr), #ptr, A_FUNCINFO)
 Macro qui vérifie si ptr est accessible pour une RunQueue ou un Runner.
 
#define ARCANE_CHECK_ACCESSIBLE_POINTER(queue_or_runner_or_policy, ptr)
 Macro qui vérifie en mode check si ptr est accessible pour une RunQueue ou un Runner.
 

Définitions de type

using Arcane::Accelerator::impl::IRunQueueRuntime = IRunnerRuntime
 

Énumérations

enum class  Arcane::Accelerator::eExecutionPolicy {
  Arcane::Accelerator::None , Arcane::Accelerator::Sequential , Arcane::Accelerator::Thread , Arcane::Accelerator::CUDA ,
  Arcane::Accelerator::HIP , Arcane::Accelerator::SYCL
}
 Politique d'exécution pour un Runner. Plus de détails...
 
enum class  Arcane::Accelerator::eDeviceReducePolicy { Arcane::Accelerator::Atomic = 1 , Arcane::Accelerator::Grid = 2 }
 Politique des opératations de réduction sur les accélérateurs. Plus de détails...
 
enum class  Arcane::Accelerator::eRunQueuePriority : int { Arcane::Accelerator::Default = 0 , Arcane::Accelerator::High = -100 , Arcane::Accelerator::Low = 100 }
 Niveaux de priorité prédéfinis pour les files d'exécution sur les accélérateurs. Plus de détails...
 
enum class  Arcane::Accelerator::ePointerMemoryType { Unregistered = 0 , Host = 1 , Device = 2 , Managed = 3 }
 Type de mémoire pour un pointeur. Plus de détails...
 
enum class  Arcane::Accelerator::ePointerAccessibility { Arcane::Accelerator::Unknown = 0 , Arcane::Accelerator::No = 1 , Arcane::Accelerator::Yes = 2 }
 Informations d'accessibilité d'une adresse mémoire. Plus de détails...
 

Fonctions

std::ostream & Arcane::Accelerator::operator<< (std::ostream &o, eExecutionPolicy exec_policy)
 Affiche le nom de la politique d'exécution.
 
std::ostream & Arcane::Accelerator::operator<< (std::ostream &o, ePointerMemoryType mem_type)
 Affiche le nom du type de mémoire.
 
bool Arcane::Accelerator::isAcceleratorPolicy (eExecutionPolicy exec_policy)
 Indique si exec_policy correspond à un accélérateur.
 
ePointerAccessibility Arcane::Accelerator::getPointerAccessibility (RunQueue *queue, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibilité de l'adresse ptr pour une exécution sur la file queue.
 
ePointerAccessibility Arcane::Accelerator::getPointerAccessibility (Runner *runner, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibilité de l'adresse ptr pour une exécution sur runner.
 
ePointerAccessibility Arcane::Accelerator::getPointerAccessibility (eExecutionPolicy policy, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibilité de l'adresse ptr pour une politique d'exécutionpolicy.
 
template<typename T >
ePointerAccessibility Arcane::Accelerator::getPointerAccessibility (T &queue_or_runner_or_policy, const void *ptr, PointerAttribute *ptr_attr=nullptr)
 Accessibilité de l'adresse ptr pour une exécution sur queue_or_runner_or_policy.
 
void Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible (const RunQueue *queue, const void *ptr, const char *name, const TraceInfo &ti)
 Vérifie si ptr est accessible pour une exécution sur queue.
 
void Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible (const Runner *runner, const void *ptr, const char *name, const TraceInfo &ti)
 Vérifie si ptr est accessible pour une exécution sur runner.
 
void Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible (eExecutionPolicy policy, const void *ptr, const char *name, const TraceInfo &ti)
 Vérifie si ptr est accessible pour une exécution policy.
 
void Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible (const RunQueue &queue, const void *ptr, const char *name, const TraceInfo &ti)
 
void Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible (const Runner &runner, const void *ptr, const char *name, const TraceInfo &ti)
 

Description détaillée

Ce fichier contient les déclarations des types de la composante 'arcane_accelerator_core'.

Définition dans le fichier AcceleratorCoreGlobal.h.

Documentation des macros

◆ ARCANE_ACCELERATOR_CORE_EXPORT

#define ARCANE_ACCELERATOR_CORE_EXPORT   ARCANE_IMPORT

Définition à la ligne 33 du fichier AcceleratorCoreGlobal.h.

◆ ARCANE_CHECK_ACCESSIBLE_POINTER

#define ARCANE_CHECK_ACCESSIBLE_POINTER (   queue_or_runner_or_policy,
  ptr 
)

Macro qui vérifie en mode check si ptr est accessible pour une RunQueue ou un Runner.

Définition à la ligne 298 du fichier AcceleratorCoreGlobal.h.

◆ ARCANE_CHECK_ACCESSIBLE_POINTER_ALWAYS

#define ARCANE_CHECK_ACCESSIBLE_POINTER_ALWAYS (   queue_or_runner_or_policy,
  ptr 
)     ::Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible((queue_or_runner_or_policy), (ptr), #ptr, A_FUNCINFO)

Macro qui vérifie si ptr est accessible pour une RunQueue ou un Runner.

Lance une exception si ce n'est pas le cas.

Définition à la ligne 286 du fichier AcceleratorCoreGlobal.h.

Documentation des définitions de type

◆ IRunQueueRuntime

using Arcane::Accelerator::impl::IRunQueueRuntime = typedef IRunnerRuntime

Définition à la ligne 69 du fichier AcceleratorCoreGlobal.h.

Documentation des fonctions

◆ arcaneCheckPointerIsAccessible() [1/5]

void Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible ( const Runner runner,
const void *  ptr,
const char *  name,
const TraceInfo ti 
)
inline

Définition à la ligne 271 du fichier AcceleratorCoreGlobal.h.

◆ arcaneCheckPointerIsAccessible() [2/5]

void Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible ( const Runner runner,
const void *  ptr,
const char *  name,
const TraceInfo ti 
)

Vérifie si ptr est accessible pour une exécution sur runner.

Lève une exception FatalErrorException si ce n'est pas le cas.

Définition à la ligne 573 du fichier Runner.cc.

Références Arcane::Accelerator::Runner::executionPolicy().

◆ arcaneCheckPointerIsAccessible() [3/5]

void Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible ( const RunQueue queue,
const void *  ptr,
const char *  name,
const TraceInfo ti 
)
inline

Définition à la ligne 264 du fichier AcceleratorCoreGlobal.h.

◆ arcaneCheckPointerIsAccessible() [4/5]

void Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible ( const RunQueue queue,
const void *  ptr,
const char *  name,
const TraceInfo ti 
)

Vérifie si ptr est accessible pour une exécution sur queue.

Lève une exception FatalErrorException si ce n'est pas le cas.

Définition à la ligne 372 du fichier RunQueue.cc.

Références Arcane::Accelerator::RunQueue::executionPolicy(), et Arcane::Accelerator::RunQueue::isNull().

◆ arcaneCheckPointerIsAccessible() [5/5]

void Arcane::Accelerator::impl::arcaneCheckPointerIsAccessible ( eExecutionPolicy  policy,
const void *  ptr,
const char *  name,
const TraceInfo ti 
)

Vérifie si ptr est accessible pour une exécution policy.

Lève une exception FatalErrorException si ce n'est pas le cas.

Définition à la ligne 291 du fichier AcceleratorCore.cc.