Backend
backend_cpu = Backend('orch:dace:cpu:IJK')
module-attribute
Default performance backend targeting CPU device.
backend_gpu = Backend('orch:dace:gpu:KJI')
module-attribute
Default performance backend targeting GPU device.
backend_python = Backend('st:python:cpu:IJK')
module-attribute
Default backend for quick iterative work.
Backend
Backend for NDSL.
The backend is a string concatenating information on the intent of the user for a given execution separated by a ':'.
It describes to NDSL the strategy, device and framework to be used on the frontend code. Additionally, it gives a hint toward the macro-strategy for loop ordering (IJK, KJI, etc.) or a more broad intent (debug, numpy).
For convenience, shortcuts are given to the most common needs (
backend_python, backend_cpu, backend_gpu).
as_gt4py()
Given an NDSL backend, give back a GT4Py equivalent
cpu()
staticmethod
Default performance backend targeting CPU devices.
equivalent_backend_with_loop_order(loop_order)
Return the equivalent backend (same strategy, framework, and device) with a different loop order.
equivalent_cpu_backend()
Return the equivalent backend (same strategy, framework and loop order) but for CPU device.
equivalent_gpu_backend()
Return the equivalent backend (same strategy, framework and loop order) but for GPU device.
equivalent_orchestration_backend()
Return the equivalent backend (same device, framework and loop order) but with orchestration strategy.
equivalent_stencil_backend()
Return the equivalent backend (same device, framework and loop order) but for Stencil strategy.
gpu()
staticmethod
Default performance backend targeting GPU devices.
is_fortran_aligned()
Check that the standard 3D field on cartesian axis is memory-aligned with Fortran striding.
python()
staticmethod
Default backend for quick iterative work.