# GPU-enabled CI for declarative GT4Py ###### tags: `functional cycle 13` Developers: Rico, with help from Andreas F Appetite: half a cycle ## Problem 1. declarative GT4Py has no GPU-enabled CI 2. the GPU-enabled CI for cartesian GT4Py uses the old CIGR process (not supported in the future) & could be optimized anyway 3. there is a new process in development, but in usable state ## Solution Set up a new GPU-enabled CI for declarative GT4Py analogous to cartesian using the new process and optimize it. This might include contributing to the new process development. ## Steps - [ ] set up new GPU-enabled CI for declarative GT4Py - documentation: https://gitlab.com/cscs-ci/ci-testing/containerised_ci_doc - [ ] change it to avoid overhead installing rarely changing python dependencies every run - [ ] 1st stage container build contains non-python dependencies, rebuild only if dockerfile changes - [ ] 2nd stage container build installs python deps on top, rebuild also if dependencies specs change - [ ] test stage only needs to install GT4Py on top of existing python deps (faster) - [ ] add nightly pipeline to rebuild the 2nd stage in case dependencies of dependencies change (or non-pinned dependencies update) - [ ] implement nightly pipelines in the new CI process - [ ] add nightly pipeline to declarative CI - [ ] document the process for when the branches are merged and cartesian should be moved to the new process ## Potential Rabbit Holes No potential rabbit holes recognized. ## No Gos - do not invent additional features to add to the CI process without measurable gains to GT4Py CI.