12#ifndef ARCCORE_COMMON_ACCELERATOR_INTERNAL_IRUNQUEUERUNTIME_H
13#define ARCCORE_COMMON_ACCELERATOR_INTERNAL_IRUNQUEUERUNTIME_H
17#include "arccore/common/accelerator/CommonAcceleratorGlobal.h"
22namespace Arcane::Accelerator::Impl
43 virtual void notifyBeginLaunchKernel() = 0;
44 virtual void notifyEndLaunchKernel() = 0;
45 virtual void barrier() = 0;
52 virtual void setCurrentDevice(
DeviceId device_id) = 0;
54 virtual void getPointerAttribute(
PointerAttribute& attribute,
const void* ptr) = 0;
57 virtual void startProfiling() {}
58 virtual void stopProfiling() {}
59 virtual bool isProfilingActive() {
return false; }
60 virtual void pushProfilerRange([[maybe_unused]]
const String& name, [[maybe_unused]]
Int32 color_gdb) {}
61 virtual void popProfilerRange() {}
64 const void* kernel_ptr,
65 Int64 total_loop_size);
71 int device,
const void* pointer,
const void* device_pointer,
72 const void* host_pointer);
73 void _fillPointerAttribute(
PointerAttribute& attribute,
const void* pointer);
Identifier of a system component.
Accelerator memory information.
Interface of a list of devices.
Interface for event implementation.
Interface of an execution stream for a RunQueue.
Interface of the runtime associated with an accelerator.
Arguments for launching a kernel.
Information about a memory address.
Information to create a RunQueue.
Constant view on a contiguous memory region containing fixed-size elements.
Unicode character string.
eMemoryAdvice
Memory management advice.
ePointerMemoryType
Memory type for a pointer.
eExecutionPolicy
Execution policy for a Runner.
std::int64_t Int64
Signed integer type of 64 bits.
std::int32_t Int32
Signed integer type of 32 bits.