Skip to content

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.

BackendFramework

Bases: Enum

Main lower-level framework (or language) backend relies on

BackendLoopOrder

Bases: Enum

Cartesian loop order generated by the Backend

BackendStrategy

Bases: Enum

Strategy for the code execution

BackendTargetDevice

Bases: Enum

Target device