---
# System prepended metadata

title: GridTools C++ Functional GPU Backend
tags: [functional cycle 7]

---

# GridTools C++ Functional GPU Backend

###### tags: `functional cycle 7`

shaped by: Felix

appetite: full cycle for Felix, supported through code reviews and knowledge transfer by Anton

## Motivation

For the in-development declarative GT4Py frontend, we require a lightweight GridTools C++ backend which servers as an API between the Python and C++ worlds. A CPU-only proof of concept has been implemented by Anton. The goal of this project is to have fully working CPU and GPU implementions with a slimmer interface and only the functionality required for the declarative GT4Py project. In contrast to the current proof of concept, no AST transformations and lifting will be supported on the C++ side. All AST optimizations and required normalizations should be implemented in Python.

## Steps

Work on this project has already started and the targeted API design is more or less clear. Thus, the main work is implementation and testing.


## Non-Goal

The initial plan does not include structured-grid-specific optimizations like per-block temporaries with redundant computations in halo regions, ij-caches etc. (k-caches will be supported by design of the semantical model). The focus lies on unstructured computations for now. 