Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Introduce Persistent Temporary Fields and Mesh to the Cuda Backend (#…
…1089) ## Technical Description Currently, temporary fields are allocated in the constructor of the generated class. Since the API functions to the FORTRAN and cpp drivers hold the stencil on the stack, this leads to memory (de-)allocation on each call. This is fine for debugging, but not for production runs. Thus, this PR keeps that behavior for the convenience wrappers starting from host memory, but introduces static `setup` and `free` functions which have to be called by the host when using the production interface which assumes device pointers. Additionally, since the APIs are touched either way, globals can now be communicated from FORTRAN to the CUDA backend. Furthermore this PR contains a small refactoring and removes the (now) superfluous template parameter from the generated stencil class ### Resolves / Enhances Addresses part of #1038 Fixes #1042 ### Testing Since this affects the CUDA-ico backend this is tested by `icondusk-e2e`
- Loading branch information