Recent Releases of GT4Py

GT4Py - GT4Py v1.0.10

Summary of changes since v1.0.9

Cartesian

  • New backend dace:cpu_kfirst.
  • New experimental features:
    • absolute indexing in K.
    • expose K index.
  • Fixes and performance improvements in DaCe backends.
  • Improved error messages.

Development

  • Enabled DaCe backends on AMD MI300 CI.

Next

See commit history.

All changes

Full Changelog: https://github.com/GridTools/gt4py/compare/v1.0.9...v1.0.10

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt 8 months ago

GT4Py - GT4Py v1.0.9

Summary of changes since v1.0.8

General

  • Performance optimizations in eve.visitors classes, by caching visitor methods at class level.

Cartesian

  • Some fixes in dace backend.

Next

See commit history.

All changes

Full Changelog: https://github.com/GridTools/gt4py/compare/v1.0.8...v1.0.9

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt 9 months ago

GT4Py - GT4Py v1.0.8

Summary of changes since v1.0.7

Cartesian

  • Introduce switches for the default int and float precision.
  • Introduce erf and erfc functions.
  • Make CUDA compilation thread-safe.

Development

  • Add MacOS to daily CI.

Next

See commit history.

All changes

Full Changelog: https://github.com/GridTools/gt4py/compare/v1.0.7...v1.0.8

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt 9 months ago

GT4Py - GT4Py v1.0.7

Summary of changes since v1.0.6

Cartesian

  • Introduce switches for the default int and float precision.
  • Introduce erf and erfc functions.
  • Make CUDA compilation thread-safe.

Development

  • Add MacOS to daily CI.

Next

See commit history.

All changes

Full Changelog: https://github.com/GridTools/gt4py/compare/v1.0.6...v1.0.7

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt 10 months ago

GT4Py - GT4Py v1.0.6

Summary of changes since v1.0.5

Cartesian

  • Introduced a debug backend, a plain python backend for debugging and rapid prototyping of features.
  • Refactoring of the lowering to SDFG using DaCe ScheduleTree: the current bridge OIR -> TreeIR -> SDFG is replaced with OIR -> TreeIR -> ScheduleTree, then it relies on DaCe to expand ScheduleTree to SDFG.

Development

  • GitHub Actions CI infrastructure updated with (optional) test-components exclusions loaded from a dynamically generated JSON file.

Next

See commit history.

All changes

Full Changelog: https://github.com/GridTools/gt4py/compare/v1.0.5...v1.0.6

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt 11 months ago

GT4Py - GT4Py v1.0.5

Summary of changes since v1.0.4

General

  • We added support for Python 3.12 and 3.13 and dropped support for Python < 3.10.
  • We moved to versioningit for versioning: each commit will now have a version following the format {major}.{minor}.{path}[.post{#commits since release}+{rev}[.dirty]], see section [tool.versioningit.format] in pyproject.toml.
  • The GridTools C++ library doesn't require Boost anymore, therefore there is no implicit dependency to Boost in GT4Py.

Cartesian

  • New feature: Allow writes with K-offsets in FORWARD and BACKWARD computations.
  • Undeprecated __INLINED as no concrete plans exist to implement an alternative.
  • Fixes cases with while-loops in conditionals.
  • Fix @gtscript.function inlining in while-loops.
  • Fixes in CuPy-ROCm storage allocation.
  • Improved test coverage for horizontal regions.
  • Improved some error messages and warnings.
  • Various style modernizations (especially related to dropped support for Python < 3.10)

DaCe support in Cartesian

  • Expose control flow elements to DaCe
  • Fixes argument validation in intersection code of DaCeIR's DomainInterval.

Development

  • Switched to uv is the standard project management tool.

All changes

New Contributors

Full Changelog: https://github.com/GridTools/gt4py/compare/v1.0.4...v1.0.5

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt 11 months ago

GT4Py - GT4Py v1.0.4

Summary of changes since v1.0.3

License

GT4Py is now licensed under the BSD license. SPDX-License-Identifier: BSD-3-Clause

Cartesian

  • Introduced a GlobalTable which is a data dimensions only Field. Access is provided via .A which also becomes a way to access data dimensions on regular Field.
  • Added an error message if a non existing backend is selected.
  • Allow setting compiler optimization level and flags on a per stencil basis
  • Added GT4PY_EXTRA_COMPILE_ARGS, GT4PY_EXTRA_LINK_ARGS and DACE_DEFAULT_BLOCK_SIZE environment variables
  • Fixes for the DaCe backend
  • Various style modernizations

Deprecation

  • The cuda backend is deprecated (enable by setting environment variable GT4PY_GTC_CUDA_USE=1), use gt:gpu or dace:gpu instead.

Development

  • Replaced flake8, black with ruff
  • Added CI plan with GH200 GPUs

All changes

New Contributors

Full Changelog: https://github.com/GridTools/gt4py/compare/v1.0.3...v1.0.4

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt over 1 year ago

GT4Py - GT4Py v1.0.3

Summary of changes since v1.0.2

General

  • Support for Python 3.11 and updated dependencies

Testing

  • Testing of Jupyter notebooks in CI

All changes

Full Changelog: https://github.com/GridTools/gt4py/compare/v1.0.2...v1.0.3

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt over 2 years ago

GT4Py - GT4Py v1.0.2

Summary of changes since v1.0.1

Cartesian

  • Compatibility of gt4py.next Fields with gt4py.cartesian computations.
  • Fixes for DaCe 0.15.1 compatibility.
  • Added log10 as native function.
  • Make scipy optional: get scipy by installing gt4py[full] for best performance with numpy backend.

Storage

  • Refactored low-level storage allocation.

All changes

New Contributors

Full Changelog: https://github.com/GridTools/gt4py/compare/v1.0.1...v1.0.2

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt over 2 years ago

GT4Py - GT4Py v1.0.1

First version including the experimental gt4py.next aka Declarative GT4Py. The gt4py.next package is excluded from semantic versioning.

Changes since v1.0.0

Cartesian

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt over 3 years ago

GT4Py - GT4Py v1.0.0

First official release of the Cartesian GT4py.

Changes since the pre-release version v0.0.1

Added

  • Remove the Storage classes and implement the new "No Storage" concept.
  • Support interfaces for calling stencils with arbitrary buffer objects (for details see docs/arrays.rst and PR #868).
  • Updated documentation, logo and license headers.

Changed

  • Important gt4py package reorganization and modularization.
  • Moved most of existing functionality into gt4py.cartesian.
  • Moved gtc package into gt4py.cartesian.
  • Moved eve package into gt4py.
  • Refactored gt4py.storage to avoid dependencies on gt4py.cartesian.
  • Tests split into sub-packages and reorganized as unit_tests and integration_tests.

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt over 3 years ago

GT4Py - Cartesian GT4Py v0.1.0

Last development version using old-style Storage class.

Climate Change - Climate Data Processing and Analysis - Python
Published by havogt over 3 years ago