Executors#
Ginkgo’s executors abstract the hardware that a LinOp runs on. Every
data object (matrix, vector, factorisation, solver) carries a shared
pointer to an Executor; every kernel dispatches through it; copies
between executors are explicit. The six classes here cover the five
supported backends plus the abstract base.
For background on the executor model — when each backend is appropriate, how cross-executor copies work, allocator choices — see the Executor model concept page.
Abstract base#
Executor— abstract base; the interface every concrete executor implements.
Concrete backends#
ReferenceExecutor— single-threaded host execution. The correctness baseline used by Ginkgo’s own tests.OmpExecutor— multi-threaded CPU via OpenMP.CudaExecutor— NVIDIA GPUs via CUDA.HipExecutor— AMD GPUs via ROCm/HIP.DpcppExecutor— Intel GPUs (and CPUs) via SYCL / DPC++.