Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
b7b84e0
updating 4d handling
oelbert Aug 27, 2024
bf4e2f2
debug 4d test data
oelbert Aug 27, 2024
dfc4e5f
more iter
oelbert Aug 27, 2024
6ab1dd5
moving ser_to_nc here
oelbert Aug 27, 2024
7bcce4b
merge develop
oelbert Sep 4, 2024
2d7062a
updating datatype in translate test
oelbert Sep 5, 2024
d44551e
typing works
oelbert Sep 5, 2024
ed3d431
fix dict, lint
oelbert Sep 5, 2024
2225fd9
remove empty line
oelbert Sep 5, 2024
f3cf32d
change from 4d to Nd
oelbert Sep 30, 2024
f894a49
Merge branch 'develop' into feature/4d_data
FlorianDeconinck Sep 30, 2024
ed4ddd4
Expose `k_start` and `k_end` automatically for any FrozenStencil
Oct 7, 2024
5b09a67
Fix k_start + utest
Oct 7, 2024
b0b2940
lint
Oct 7, 2024
0c7c902
Fix for 2d stencils
Oct 7, 2024
b5a7fa7
Merge pull request #78 from FlorianDeconinck/feature/K_axis_bounds_in…
fmalatino Oct 7, 2024
4b8d4b9
Add threshold overrides to the multimodal metric
Oct 7, 2024
0f1644c
Merge pull request #71 from oelbert/feature/4d_data
FlorianDeconinck Oct 9, 2024
720149a
Always report results, add summary with one liners
Oct 9, 2024
c9da47b
Merge branch 'develop' into feature/multimodal_metric_threshold_override
FlorianDeconinck Oct 9, 2024
020a259
Remove "mmr" from the keys
Oct 9, 2024
75f886f
Merge remote-tracking branch 'fdeconinck/feature/multimodal_metric_th…
Oct 9, 2024
d59918b
README in testing
Oct 10, 2024
4bdc914
Better Latex (?)
Oct 10, 2024
bdb3820
Better Latex (?)
Oct 10, 2024
e17539d
fixing a typo that breaks bools in translate tests (#80)
oelbert Oct 10, 2024
0fc563e
Merge branch 'develop' into feature/multimodal_metric_threshold_override
FlorianDeconinck Oct 10, 2024
f8105dd
Fix summary filename
FlorianDeconinck Oct 11, 2024
6389638
Merge remote-tracking branch 'fdeconinck/feature/multimodal_metric_th…
FlorianDeconinck Oct 11, 2024
5ac067f
Fix report, filename
FlorianDeconinck Oct 13, 2024
8870e46
Fix choosing right absolute difference for F32
FlorianDeconinck Oct 17, 2024
4d6d96c
Make robust for NaN value
FlorianDeconinck Oct 23, 2024
aed5912
Merge pull request #79 from FlorianDeconinck/feature/multimodal_metri…
FlorianDeconinck Oct 23, 2024
001d2bd
Detect when array have different dimensions, if only one dimension, c…
FlorianDeconinck Oct 24, 2024
eaf1d20
Lint
FlorianDeconinck Oct 24, 2024
489aab1
Add rank 0 to the data
FlorianDeconinck Oct 24, 2024
2af8dfb
Check data exists for rank, skip & print if not
FlorianDeconinck Oct 24, 2024
ce38ce0
Fix bad logic on skip test for parallel
FlorianDeconinck Oct 31, 2024
05952aa
Verbose exported names
FlorianDeconinck Nov 12, 2024
3347431
Make boilerplate calls more nimble
FlorianDeconinck Nov 12, 2024
1eda108
New option: `which_savepoint`
FlorianDeconinck Nov 12, 2024
b1b3ac0
QOL for mypy/flak8 type hints
FlorianDeconinck Nov 12, 2024
264da4e
Merge pull request #83 from FlorianDeconinck/fix/boilerplate
FlorianDeconinck Nov 13, 2024
153138e
Merge pull request #82 from FlorianDeconinck/feature/serialbox_netcdf…
FlorianDeconinck Nov 13, 2024
53b273b
Merge pull request #84 from FlorianDeconinck/qol/translate_test_which…
FlorianDeconinck Nov 14, 2024
88129fc
Add SECONDS_PER_DAY as a constants following mixed precision standards
FlorianDeconinck Dec 2, 2024
c436b0b
Lint
FlorianDeconinck Dec 2, 2024
3c1ee68
Merge pull request #86 from FlorianDeconinck/feature/seconds_per_day_…
FlorianDeconinck Dec 2, 2024
9efb5f4
Cleanups in dace orchestration
Dec 4, 2024
c7d6c4f
Rename program -> dace_program
Dec 4, 2024
60a8f59
Merge pull request #87 from romanc/romanc/cleanups-orchestartion
FlorianDeconinck Dec 5, 2024
ce3ac7e
Make sure all constants adhere to the floating point precision set by…
FlorianDeconinck Dec 9, 2024
502486f
Move `is_float` to `dsl.typing`
FlorianDeconinck Dec 10, 2024
a13776f
Move Quantity to sub-directory + breakout the subcomponent
FlorianDeconinck Dec 10, 2024
937417b
Fix tests
FlorianDeconinck Dec 10, 2024
45c3180
Lint
FlorianDeconinck Dec 10, 2024
0330cdb
Remove `cp.ndarray` since cupy is optional
FlorianDeconinck Dec 10, 2024
18b2f3f
Restore workaround for optional cupy
FlorianDeconinck Dec 10, 2024
7076740
"GFS" -> "UFS"
FlorianDeconinck Dec 10, 2024
a8a7c85
Cupy trick for metadata
FlorianDeconinck Dec 10, 2024
a7ee68f
Add comments for constant explanation
FlorianDeconinck Dec 11, 2024
28e2375
Describe 64/32-bit FloatFields
FlorianDeconinck Dec 11, 2024
cf4c2ce
Merge pull request #88 from FlorianDeconinck/fix/F32/Constants
FlorianDeconinck Dec 11, 2024
8daf5bd
Make sure the `make_storage_data` respects the array dtype.
FlorianDeconinck Dec 11, 2024
9faa405
Fix logic for MultiModal metric and verbose it
FlorianDeconinck Dec 11, 2024
7c03e92
Merge pull request #90 from FlorianDeconinck/feature/fixed_precision_…
FlorianDeconinck Dec 11, 2024
359812a
Merge branch 'develop' into fix/translate_test_storage_precision
FlorianDeconinck Dec 11, 2024
75b4741
Added an MPI all_reduce for quantities based on SUM operation to comm…
gmao-ckung Dec 11, 2024
4c8632c
linted
gmao-ckung Dec 11, 2024
a2fac9f
Add initial skeleton of pytest test for all reduce
gmao-ckung Dec 13, 2024
38ee6a6
Merge pull request #91 from FlorianDeconinck/fix/translate_test_stora…
FlorianDeconinck Dec 13, 2024
8c5b5d5
Added assertion tests for 1, 2 and 3D quantities passed through mpi_a…
gmao-ckung Dec 13, 2024
fb4e740
Linted
gmao-ckung Dec 13, 2024
34f82fb
Added pytest.mark to skip test if mpi4py isn't available
gmao-ckung Dec 13, 2024
b4a6a54
lint changes
gmao-ckung Dec 16, 2024
f5ce883
Addressed PR comments and added additional CPU backends to unit test
gmao-ckung Dec 16, 2024
2e41349
Merge branch 'feature/mpi_allreduce_sum' of https://github.com/NOAA-G…
gmao-ckung Dec 16, 2024
2e669db
Added setters for various Quantity properties to enable setting of Qu…
gmao-ckung Dec 18, 2024
fd2fa97
Added function in QuantityMetadata class that allows copying of Metad…
gmao-ckung Dec 19, 2024
ad19be3
Expose all SG metric terms in grid_data
FlorianDeconinck Dec 20, 2024
76f53c8
Merge pull request #93 from FlorianDeconinck/feature/minor/add_all_co…
FlorianDeconinck Dec 20, 2024
cc620c6
Add `Allreduce` and all MPI OP
FlorianDeconinck Dec 22, 2024
0e8089e
Update utest
FlorianDeconinck Dec 22, 2024
2188c75
Fix `local_comm`
FlorianDeconinck Dec 22, 2024
f8cc2ce
Fix utest
FlorianDeconinck Dec 22, 2024
7ad271f
Enforce `comm_abc.Comm` into Communicator
FlorianDeconinck Dec 22, 2024
07cd0f3
Fix `comm` object in serial utest
FlorianDeconinck Dec 22, 2024
224e6e2
Lint + `MPIComm` on testing architecture
FlorianDeconinck Dec 22, 2024
312b492
Merge branch 'develop' into feature/mpi_allreduce_sum
FlorianDeconinck Dec 22, 2024
f99914a
Make sure the correct allocator backend is used for Quantities
FlorianDeconinck Dec 27, 2024
760578c
Add in_place option for Allreduce
FlorianDeconinck Dec 30, 2024
a8a2e73
Merge pull request #95 from FlorianDeconinck/fix/boilerplate_on_gpu
FlorianDeconinck Jan 2, 2025
c758ffb
Merge branch 'develop' into feature/mpi_allreduce_sum
FlorianDeconinck Jan 7, 2025
9f5e50c
Merge pull request #92 from NOAA-GFDL/feature/mpi_allreduce_sum
FlorianDeconinck Jan 7, 2025
4e06ee8
Cleanup ndsl/dsl/dace/utils.py (#96)
romanc Jan 7, 2025
94b35d0
Merge branch 'develop' into refactor/quantity
FlorianDeconinck Jan 7, 2025
fcfb058
Fix merge
FlorianDeconinck Jan 7, 2025
1c7c30c
Merge pull request #89 from FlorianDeconinck/refactor/quantity
FlorianDeconinck Jan 14, 2025
1fa8d79
Hotfix for grid generation use of mpi operators
fmalatino Jan 16, 2025
a75a1d7
Merge pull request #98 from fmalatino/fix/reductop
FlorianDeconinck Jan 16, 2025
3252ec7
Merge examples/mpi/.gitignore into top-level .gitignore
romanc Jan 20, 2025
04ecf87
Remove hard-coded __version__ numbers
romanc Jan 20, 2025
4881b34
Fixing a bunch of typos
romanc Jan 20, 2025
1da613d
Merge pull request #99 from romanc/romanc/cleanup-gitignore
fmalatino Jan 21, 2025
a51daf3
hotfix netcdf version for dockerfiles
oelbert Jan 22, 2025
acb8c0d
Merge pull request #100 from oelbert/develop
fmalatino Jan 22, 2025
3f77863
Updated version number in setup.py to reflect new release, 2025.01.00
fmalatino Jan 23, 2025
b7db259
Merge pull request #101 from fmalatino/rc-2025.01.00
fmalatino Jan 24, 2025
2b2a444
Adding in exception for compute domains with sizes less than or equal…
fmalatino Feb 7, 2025
c37c23d
Fix passing down ak/bk for pressure coefficients when they are availa…
FlorianDeconinck Feb 10, 2025
0aa1775
[QOL] Logging, Type Hints and Quantity helpers (#108)
FlorianDeconinck Feb 11, 2025
67f1cc3
Automatic Int precision and stencil regeneration change (#104)
CharlesKrop Feb 12, 2025
eeab9e7
Bump DaCe to v1.0.1 (#109)
romanc Feb 12, 2025
b5c06c2
Streamline linting workflow (#110)
romanc Feb 12, 2025
597d1d4
[FIX] Type hint for precision dependant Float, Int (#111)
FlorianDeconinck Feb 14, 2025
73280b6
Feature: Adding documentation (#97)
fmalatino Feb 18, 2025
f3b732d
[Translate test] Save better reports & netCDF for multiple ranks on f…
FlorianDeconinck Feb 19, 2025
b57d2c0
Adds some quick capacities used in the post-radiation phase of the ph…
oelbert Feb 27, 2025
e6f1d19
Adding temperature of h2o triple point (#115)
oelbert Feb 27, 2025
c93da23
[Feature] Porting workflow: enhancing errors readability (#114)
FlorianDeconinck Feb 28, 2025
0740e26
Feature: NetCDF output precision configurable (#117)
fmalatino Mar 5, 2025
08ad037
Mixed Precision fixes and QOL (#118)
FlorianDeconinck Mar 12, 2025
f6c4fb0
Add license (Apache 2.0) (#105)
romanc Mar 20, 2025
a3135f7
Change deprecated `np.product()` to `np.prod()` (#120)
romanc Mar 24, 2025
4779b96
Update GT4Py and DaCe to bring in refactored GT4Py/DaCe bridge that e…
romanc Mar 24, 2025
6dbc37b
Grid Mixed Precision and Coriolis force load (+ QOL) (#121)
FlorianDeconinck Mar 26, 2025
ff290f7
GEOS version of dz_min (#122)
FlorianDeconinck Mar 26, 2025
a2edc58
Doc enhancment (#123)
twicki Mar 31, 2025
880b07d
Fix saving NetCDF for parallel translate test (#125)
FlorianDeconinck Mar 31, 2025
e9b2870
Release candidate 2025.03.00 (#124)
fmalatino Apr 2, 2025
669e097
Merge branch 'main' into develop
fmalatino Apr 2, 2025
4a1abd4
Fix for bad merge of 7fdfa5 (#129)
fmalatino Apr 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 10 additions & 13 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3.5.2
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Step Python
uses: actions/[email protected]

- name: Setup Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11.7'
- name: Install OpenMPI for gt4py
run: |
sudo apt-get install libopenmpi-dev
- name: Install Python packages
run: |
python -m pip install --upgrade pip setuptools wheel
pip install .[develop]
python-version: '3.11'

- name: Install pre-commit
run: pip install pre-commit

- name: Run lint via pre-commit
run: |
pre-commit run --all-files
run: pre-commit run --all-files
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ dmypy.json

# GT4Py
**/.gt_cache*/
**/.gt4py_cache/

# Tests
.my_cache_path/*
Expand All @@ -169,7 +170,6 @@ RESTART/
_dacegraphs

**/testing/output/*
*.png
*.nc

# VSCode
Expand Down
190 changes: 190 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

Copyright 2022 Allen Institute for Artificial Intelligence (AI2)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
27 changes: 23 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ NDSL submodules `gt4py` and `dace` to point to vetted versions, use `git clone -
NDSL is __NOT__ available on `pypi`. Installation of the package has to be local, via `pip install ./NDSL` (`-e` supported). The packages has a few options:

- `ndsl[test]`: installs the test packages (based on `pytest`)
- `ndsl[develop]`: installs tools for development and tests.
- `ndsl[demos]`: installs extra requirements to run [NDSL exmpales](./examples/NDSL/)
- `ndsl[docs]`: installs extra requirements to build the docs
- `ndsl[develop]`: installs tools for development, docs, and tests.

Tests are available via:

Expand All @@ -45,11 +47,28 @@ For GPU backends (the above plus):

## Development

TBD: Code/contribution guideline
### Code/contribution guidelines

TBD: Documentation
TBD

Point of Contacts:
### Documentation

We are using [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/), which allows us to write the docs in Markdown files and optionally serve it as a static site.

To view the documentation, install NDSL with the `docs` or `develop` extras. Then just run

```bash
mkdocs serve
```

Contributing to the documentation is straight forward:

1. Add and/or change files in the [docs/](./docs/) folder as necessary.
2. [Optional] If you have changes to the navigation, modify [mkdocs.yml](mkdocs.yml).
3. [Optional] Start the development server and look how your changes are rendered.
4. Submit a pull request with your changes.

## Point of Contacts

- NOAA: Rusty Benson: rusty.benson -at- noaa.gov
- NASA: Florian Deconinck florian.g.deconinck -at- nasa.gov
5 changes: 5 additions & 0 deletions docs/dev/dace.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# DaCe

[DaCe](https://spcldace.readthedocs.io/en/latest/index.htm) is is the full-program optimization framework used in NDSL. DaCe is short for Data-Centric Parallel Programming and developed at ETH's scalable parallel computing lab (SPCL).

In NDSL, DaCe powers the [performance backends](https://geos-esm.github.io/SMT-Nebulae/technical/backend/dace-bridge/) of [GT4Py](./gt4py.md). In particular, in NDSL's orchestration feature we will encode [macro-level optimizations](https://geos-esm.github.io/SMT-Nebulae/technical/backend/ADRs/stree/) like loop re-ordering and stencil fusing using DaCe.
5 changes: 5 additions & 0 deletions docs/dev/gt4py.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# GT4Py

!!! warning

TODO: Add some docs on GT4Py here
Loading
Loading