12#ifndef ARCANE_ACCELERATOR_INTERNAL_IRUNQUEUERUNTIME_H
13#define ARCANE_ACCELERATOR_INTERNAL_IRUNQUEUERUNTIME_H
22namespace Arcane::Accelerator::impl
42 virtual void notifyBeginLaunchKernel() = 0;
43 virtual void notifyEndLaunchKernel() = 0;
44 virtual void barrier() = 0;
51 virtual void setCurrentDevice(
DeviceId device_id) = 0;
53 virtual void getPointerAttribute(
PointerAttribute& attribute,
const void* ptr) = 0;
56 virtual void startProfiling() {}
57 virtual void stopProfiling() {}
58 virtual bool isProfilingActive() {
return false; }
59 virtual void pushProfilerRange([[maybe_unused]]
const String& name, [[maybe_unused]]
Int32 color_gdb) {}
60 virtual void popProfilerRange() {}
63 const void* kernel_ptr,
64 Int64 total_loop_size,
65 Int32 wanted_shared_memory);
71 int device,
const void* pointer,
const void* device_pointer,
72 const void* host_pointer);
73 void _fillPointerAttribute(
PointerAttribute& attribute,
const void* pointer);
Identifiant d'un composant du système.
Information mémoire d'un accélérateur.
Interface d'une liste de devices.
Informations sur une adresse mémoire.
Informations pour créer une RunQueue.
Interface de l'implémentation d'un évènement.
Interface d'un flux d'exécution pour une RunQueue.
Interface du runtime associé à un accélérateur.
Arguments pour lancer un kernel.
Vue constante sur une zone mémoire contigue contenant des éléments de taille fixe.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
eMemoryAdvice
Conseils pour la gestion mémoire.
ePointerMemoryType
Type de mémoire pour un pointeur.
eExecutionPolicy
Politique d'exécution pour un Runner.
std::int64_t Int64
Type entier signé sur 64 bits.
std::int32_t Int32
Type entier signé sur 32 bits.