alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
alpaka::exec Namespace Reference

Namespaces

namespace  trait

Classes

struct  AnyExecutor
 Automatic executor selection. More...
struct  CpuOmpBlocks
struct  CpuSerial
struct  CpuTbbBlocks
struct  GpuCuda
struct  GpuHip
struct  OneApi

Variables

constexpr auto allExecutors = std::make_tuple(gpuCuda, gpuHip, oneApi, cpuOmpBlocks, cpuTbbBlocks, cpuSerial)
 list of all executors supported by alpaka
constexpr AnyExecutor anyExecutor
 Automatic executor selection.
constexpr CpuOmpBlocks cpuOmpBlocks
constexpr CpuSerial cpuSerial
constexpr CpuTbbBlocks cpuTbbBlocks
constexpr auto enabledExecutors
 list of enabled executors
constexpr GpuCuda gpuCuda
constexpr GpuHip gpuHip
template<typename T_Exec>
constexpr bool isSeqExecutor_v = trait::IsSeqExecutor<T_Exec>::value
constexpr OneApi oneApi {}

Variable Documentation

◆ allExecutors

auto alpaka::exec::allExecutors = std::make_tuple(gpuCuda, gpuHip, oneApi, cpuOmpBlocks, cpuTbbBlocks, cpuSerial)
constexpr

list of all executors supported by alpaka

The order is from high parallelism to low parallelism for executors which are falling into the same category. This list is used at places where a function can be called without an executor. In this case the first available executor is used.

Definition at line 21 of file executor.hpp.

◆ anyExecutor

AnyExecutor alpaka::exec::anyExecutor
constexpr

Automatic executor selection.

If this executor is used in alpaka interfaces, the best fitting available executor will automatically select. The selection based often on the device or queue provided in the interfaces.

Definition at line 33 of file executor.hpp.

◆ cpuOmpBlocks

CpuOmpBlocks alpaka::exec::cpuOmpBlocks
constexpr

Definition at line 38 of file executor.hpp.

◆ cpuSerial

CpuSerial alpaka::exec::cpuSerial
constexpr

Definition at line 28 of file executor.hpp.

◆ cpuTbbBlocks

CpuTbbBlocks alpaka::exec::cpuTbbBlocks
constexpr

Definition at line 48 of file executor.hpp.

◆ enabledExecutors

auto alpaka::exec::enabledExecutors
constexpr
Initial value:
= std::tuple_cat(
std::tuple<>{}
,
std::tuple{exec::cpuOmpBlocks}
,
std::tuple{exec::cpuTbbBlocks}
,
std::tuple{exec::cpuSerial}
,
std::tuple{exec::gpuCuda}
,
std::tuple{exec::gpuHip}
,
std::tuple{exec::oneApi}
)
constexpr GpuCuda gpuCuda
Definition executor.hpp:25
constexpr GpuHip gpuHip
Definition executor.hpp:25
constexpr CpuTbbBlocks cpuTbbBlocks
Definition executor.hpp:48
constexpr CpuOmpBlocks cpuOmpBlocks
Definition executor.hpp:38
constexpr OneApi oneApi
Definition executor.hpp:22
constexpr CpuSerial cpuSerial
Definition executor.hpp:28

list of enabled executors

  • executors can be dis-/enabled by the CMake define alpaka_EXEC_<ExecutorName>
  • the second way to disable an executor is to define the preprocessor define ALPAKA_DISABLE_EXEC_<ExecutorName>, if not the executor is enabled

Definition at line 29 of file executor.hpp.

◆ gpuCuda

GpuCuda alpaka::exec::gpuCuda
constexpr

Definition at line 25 of file executor.hpp.

◆ gpuHip

GpuHip alpaka::exec::gpuHip
constexpr

Definition at line 25 of file executor.hpp.

◆ isSeqExecutor_v

template<typename T_Exec>
bool alpaka::exec::isSeqExecutor_v = trait::IsSeqExecutor<T_Exec>::value
constexpr

Definition at line 285 of file tag.hpp.

◆ oneApi

OneApi alpaka::exec::oneApi {}
constexpr

Definition at line 22 of file executor.hpp.