# Master Branch Integration of DaceProgram Utilities for fv3core
###### tags: `cycle 5` `dace`
In past cycles we have demonstrated the viability of integrating GT4Py Stencils in `DaceProgram`s by applying the approach to the acoustic substep of fv3core. This work has been carried out on separate feature branches of all 3 repositories (fv3core, dace, gt4py).
In this project, we will bring these branches to a shape that can be merged into the main branches of the respective repositories. This will prevent divergence of developments in all the repositories. In particular, for
* **gt4py**
- The new GPU expansion for the dace backend
- Adding the `SDFGConvertible` functionality to stencil objects with appropriate caching
- moving computepath decorators and config functionality to gt4py
* **fv3core**
- Carry over new dace decorators to the master branch and apply them to the halo-exchange free codes
- Extension as time permits: Integrate the work done on halo exchanges in the previous cycle
* **dace** bring existing `linus-fixes-11` branch to maturity
We explicitly make short parsing and code generation times and user experience a quality aspect that is to be considered while preparing those PR's, meaning that apropriate caching and utilities to load externally transformed graphs shall be provided.
## Goals
* Solid merge candidates in fv3core, gt4py or dace repositories that, when merged, would allow
- parsing all modules of the acoustic substeps except the root DynCore object into SDFGs.
NB 1: DynCore requires halo exchanges and is optional. The mode without halo exchanges does not exist in fv3core master and can't be added here.
NB 2: This is already supported in feature branches.
- adding functionality to stencil object s.t. they can be integrated directly in dace programs. In this way more applications than fv3core can start experimenting with this approach on gt4py master.
* Integration of halo exchanges in the context of the acoustics substep is optional
### No-Goals
* Still, only the acoustic substep will be supported in fv3core.
## Appetite
* 3 weeks