Skip to content

Releases: GridTools/gt4py

GT4Py v1.1.2

08 Dec 10:54
b925638

Choose a tag to compare

Summary of changes since v1.1.1

General

  • Added support for Python 3.14.

Cartesian

  • New feature: Runtime Interval Bounds

All changes

  • refactor[next][dace]: Simplify visitor of concat_where expressions by @edopao in #2394
  • fix[next][dace]: Use explicit dataflow in let-lambdas by @edopao in #2396
  • ci[next]: skip test_compile_variants_args_and_kwargs with dace backend and ROCM device by @edopao in #2400
  • build[dace][next]: Updated DaCe Dependency by @philip-paul-mueller in #2401
  • ci[next]: skip test_compile_variants_tuple with dace backend and ROCM device by @edopao in #2402
  • feat[cartesian]: Runtime Interval Bounds by @twicki in #2395
  • style[cartesian]: Cleanup in error messaging by @katrinafandrich in #2387
  • build[dace][next]: Updated DaCe Dependency by @philip-paul-mueller in #2405
  • bug[next]: Source location agnostic compilation hash by @tehrengruber in #2397
  • fix[next][dace]: Use symbol mapping for stride propagation across nested SDFGs by @edopao in #2404
  • ci/build/refactor[all]: python 3.14 support by @DropD in #2399
  • ci[cartesian,next]: Upgrade scipy min version for py3.14 by @edopao in #2408
  • refactor[eve,next]: UIDGenerator -> SequentialIDGenerator by @havogt in #2407
  • fix[next]: apply cse in fuse_as_fieldop by @havogt in #2257
  • refactor[next]: unroll_reduce deduce shift via typesystem by @havogt in #2267
  • build: remove support for python releases breaking networkx by @egparedes in #2410
  • fix[next][dace]: Unconditional execution of else-branch in if-statements by @edopao in #2412
  • refactor[next][dace]: Move SDFG-lowering modules into subpackage by @edopao in #2409
  • Releasing v1.1.2 by @havogt in #2414

New Contributors

Full Changelog: v1.1.1...v1.1.2

GT4Py v1.1.1

14 Nov 13:56
f987934

Choose a tag to compare

Summary of changes since v1.1.0

Cartesian

  • Allow self-assignment with offset in K dimension in sequential vertical loops
  • Bug fixes:
    • Skip implicit upcasting in (explicit) cast operations
    • Respect precision of Constants

All changes

  • fix[cartesian]: upcast arguments of cast operations by @romanc in #2369
  • docs[next][dace]: Updated CompiledDaceProgram by @philip-paul-mueller in #2374
  • Fix warning in thread block size setting by @iomaganaris in #2371
  • fix[next][dace]: Use correct dtype for connectivity tables by @edopao in #2373
  • feat[dace][next]: Added DoubleWriteRemover Transformation by @philip-paul-mueller in #2370
  • fix[cartesian]: respect percision of constants by @romanc in #2377
  • refactor[next][dace]: Rename array symbols for shape and strides by @edopao in #2378
  • fix[next][dace]: Generate temporary array ids in determistic way by @edopao in #2380
  • fix[next][dace]: Avoid name conflict between tasklet connector and SDFG data by @edopao in #2382
  • refactor[next][dace]: Introduce SDFGBuilder.add_nested_sdfg by @edopao in #2372
  • perf[next]: Refactor of Program call arguments canonicalization by @egparedes in #2379
  • fix[next][dace] Set properly strides of data in CPU by @iomaganaris in #2384
  • feat[next]: adding custom named collections of scalars and fields by @egparedes in #2232
  • fix[cartesian]: Allow self-assignment with offset in K dimension in sequential vertical loops by @romanc in #2388
  • bug[next]: disallow implicit bool conversion of fields by @havogt in #2393
  • fix[gt4py]: Transform enums in tuple static args by @SF-N in #2389
  • Releasing v1.1.1 by @havogt in #2391

Full Changelog: v1.1.0...v1.1.1

GT4Py v1.1.0

05 Nov 09:12
04d105d

Choose a tag to compare

Summary of changes since v1.0.10

Cartesian

  • New experimental feature: 2D temporaries.
  • Removed deprecated cuda backend.
  • Bug fixes:
    • Absolute field-access in while-condition
    • Upcasting of expressions on the lhs of assignments

Versioning

  • Added a fallback version of the form 1.0.10+unknown.version.details, when no version is available from git.

Next

See commit history.

All changes

Full Changelog: v1.0.10...v1.1.0

GT4Py v1.0.10

23 Oct 15:11
e7fd361

Choose a tag to compare

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

  • CI: enable dace tests on beverin by @edopao in #2263
  • fix[next][dace]: check for gpu schedule before adding cudaStreamSynchronize by @edopao in #2260
  • feat[next]: Transformation pass from runtime to compile-time domains by @SF-N in #2151
  • feat[cartesian]: Add backend dace:cpu_kfirst by @romanc in #2255
  • fix[cartesian]: dace backend fixes by @romanc in #2259
  • refactor[dace]: Removed Dublicated Code by @philip-paul-mueller in #2272
  • fix[next][dace]: move cuda-codegen setting to gt4py config by @edopao in #2271
  • fix[next][dace]: ensure unique names for conditional blocks and loop regions by @edopao in #2270
  • perf[next][dace] Remove scalar views by @iomaganaris in #2166
  • bug[next]: Fix non scan projector in global tmp pass by @tehrengruber in #2274
  • tests[cartesian]: attempt to stabilize macos daily (uv resolution highest) by @romanc in #2269
  • refactor[next]: Refactor static args mechanism by @tehrengruber in #2258
  • fix[next]: Fix multi-node scaling issues of FileCache by @tehrengruber in #2261
  • build[next]: update dace version by @edopao in #2275
  • feat[next][dace]: extend CopyChainRemover to remove full-write copies by @edopao in #2273
  • feature[cartesian]: absolute indexing in K (experimental) by @romanc in #2276
  • fix[next]: Fix allocator typing by @havogt in #2279
  • feat[next]: synchronous and synchronize compilation by @havogt in #2096
  • feat[next][dace]: collect sdfg execution time with tasklet by @edopao in #2280
  • feat[dace][next]: Added Inline Fuser by @philip-paul-mueller in #2283
  • feat[next][dace]: Hooksystem for gt_auto_optimizer() by @philip-paul-mueller in #2291
  • feat[next]: flexible metric collections by @egparedes in #2287
  • refactor[cartesian]: shiny error messges from the gt_script frontend by @romanc in #2042
  • feat[dace][next]: Set GPU Thread Block Size Per Dimension from gt_auto_optimizer() by @philip-paul-mueller in #2298
  • cartesian[feat]: Expand push vertical map down to include ForScope by @FlorianDeconinck in #2290
  • feat[dace][next]: Updated Splitting Fusion Transformations by @philip-paul-mueller in #2296
  • bug[next]: Fix dead-code elimination on some concat_where expressions by @tehrengruber in #2292
  • refactor[next]: Cleanup implicit offsets by @havogt in #2299
  • feat[bug]: Fix name collision in collapse tuple pass by @tehrengruber in #2301
  • refactor[next][dace]: Move zero-origin constant substitution out of lowering module by @edopao in #2303
  • doc[next]: Document concat_where domain arg canonicalization by @tehrengruber in #2223
  • feat[next]: Prune empty concat where branches pass by @tehrengruber in #2286
  • fix[next][dace]: Avoid name conflict between tasklet connector and data node by @edopao in #2306
  • build[cartesian]: update DaCe version by @romanc in #2307
  • feat[next][dace]: Enable customization of auto-optimize in dace backend workflow by @edopao in #2295
  • bug[next]: change flaky wait_for_compilation test by @havogt in #2297
  • feat[dace][next]: Demotion of Fields by @philip-paul-mueller in #2288
  • perf[next][dace] Avoid unnecessary vertical map splitting by @iomaganaris in #2278
  • fix[next]: Fix offset provider access by @tehrengruber in #2310
  • bug[next]: Add support for nan and inf literals in GTIR by @tehrengruber in #2308
  • feat[next][dace]: Updated gt_auto_optimizer()'s Hook-System by @philip-paul-mueller in #2294
  • Revert "fix[next][dace]: Avoid name conflict between tasklet connector and data node" by @edopao in #2317
  • perf[next][dace] Set GPU thread block size properly by @iomaganaris in #2313
  • fix[next][dace]: Avoid name conflict between tasklet connector and data node by @edopao in #2318
  • feat[next]: upgrade tree_map with custom constructor per original type by @havogt in #2285
  • build[cartesian]: remove reference to gtpyc from pyproject.toml by @romanc in #2320
  • fix[next][dace]: SDFG instrumentation with empty else-branch caused memory leak by @edopao in #2321
  • test[cartesian]: remove duplicate dace parsing tests by @romanc in #2325
  • feat[cartesian]: utils.warn_experimental_feature() by @romanc in #2324
  • refactor[next][dace]: cleanup update_sdfg_args by @edopao in #2312
  • refactor[next]: Reduce programs runtime overhead by @egparedes in #2305
  • feat[next][dace]: enable overriding of cxx/cuda compiler arguments by @edopao in #2327
  • Fix thread block size setting assertion by @iomaganaris in #2331
  • feat[next]: Implement faster data pointer retrieval in ndarray-based fields by @egparedes in #2332
  • feature[cartesian]: expose iteration index in K (experimental) by @romanc in #2300
  • build[dace][next]: Updated DaCe Dependency by @philip-paul-mueller in #2328
  • refactor[next][dace]: Use global array instead of return value to collect the SDFG compute time by @edopao in #2333
  • Releasing v1.0.10 by @havogt in #2330

Full Changelog: v1.0.9...v1.0.10

GT4Py v1.0.9

12 Sep 11:22
39b0cb0

Choose a tag to compare

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

  • refactor[next]: cleanups in the type system utilities by @egparedes in #2231
  • fix[next][dace]: update strides of scan output in SDFG lowering by @edopao in #2241
  • refactor[next]: Remove unconditionally_collapse_tuples by @SF-N in #2242
  • fix[next][dace]: follow new canonical field domain order by @edopao in #2240
  • bug[next][dace]: fix scope for SDFG binding function by @edopao in #2235
  • refactor[cartesian]: invalid frontend/backend raise ValueError by @romanc in #2243
  • refactor[cartesian]: delete unused tile symbol function by @romanc in #2244
  • perf[cartesian]: Align memory layout and loop structure by @romanc in #2245
  • fix[cartesian]: actually use cached (to disk) SDFGs by @romanc in #2246
  • fix[cartesian]: memlets of data dims in jit workflow by @romanc in #2247
  • fix[cartesian]: Merge DaCe schedule tree roundtrip work by @romanc in #2248
  • feat[next]: runtime field domains by @tehrengruber in #1893
  • bug[next][dace]: Use session cache for SDFG build by @edopao in #2250
  • bug[next][dace]: fix symbol mapping in lowering of let-statements by @edopao in #2251
  • test[cartesian]: print cache location at start of test session by @romanc in #2252
  • bug[next][dace]: fix dimensions order in find_constant_symbols by @edopao in #2256
  • test[cartesian]: delete old/unused test utils by @romanc in #2254
  • perf: cache dispatch results in eve.visitors by @egparedes in #2249
  • refactor[next]: Remove dead-code in lowering utils by @tehrengruber in #2183
  • Releasing v1.0.9 by @edopao in #2253

Full Changelog: v1.0.8...v1.0.9

GT4Py v1.0.8

04 Sep 06:38
11496df

Choose a tag to compare

Summary of changes since v1.0.7

Cartesian

  • feature: support for round and round_away_from_zero
  • fix: support for np.bool_ in gtscript ValueInliner

Development

  • Add AMD MI300 system to CSCS CI with testing for HIP

Next

See commit history.

All changes

Full Changelog: v1.0.7...v1.0.8

GT4Py v1.0.7

12 Aug 11:29
d342526

Choose a tag to compare

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: v1.0.6...v1.0.7

GT4Py v1.0.6

30 Jul 06:53
98f7280

Choose a tag to compare

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: v1.0.5...v1.0.6

GT4Py v1.0.5

21 Jul 17:11
a3ce24a

Choose a tag to compare

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

  • feat[cartesian]: K offset write by @FlorianDeconinck in #1452
  • feat[next]: Apply common transforms from program by @tehrengruber in #1593
  • feat[next]: AOT toolchain by @DropD in #1545
  • Fix Some Typos in README by @fthaler in #1658
  • fix: GitHub License Detection by @fthaler in #1657
  • feat[next]: unary operator for number type cast by @nfarabullini in #1659
  • fix: add ROCm compatiblity to storages by @egparedes in #1655
  • fix[cartesian]: fix bugs in CuPy-ROCm storage allocation by @stubbiali in #1662
  • fext[next]: HIP support by @havogt in #1661
  • fix[next]: Fix usage of DaCe fast-call to SDFG by @edopao in #1656
  • fix[next]: remove debug messages in OTF workflow by @edopao in #1666
  • refactor[next]: Remove GTIR cond and use if_ everywhere by @tehrengruber in #1665
  • refactor[next]: ranaming of dace_utils module by @edopao in #1667
  • fix[next][dace]: enable subdomain in let-statements by @edopao in #1668
  • bug[next]: Refactor PruneUnreferencedFundefs pass by @tehrengruber in #1663
  • refactor[next]: Move symbolic domain utilities to seperate module by @tehrengruber in #1671
  • bug[next]: Fix wrong type annotation in domain inference by @tehrengruber in #1673
  • fix[next][dace]: Initialization of partially written test array by @edopao in #1675
  • fix[cartesian]: Fix @gtscript.function inlining in while loops by @FlorianDeconinck in #1669
  • feat[next]: Allow SymbolicDomain.translate with ALL_NEIGHBORS and VALUE by @tehrengruber in #1674
  • feat[next][dace]: GTIR-to-SDFG lowering of tuples by @edopao in #1651
  • refactor[next]: Cleanup toolchain by @tehrengruber in #1660
  • feat[next]: Add support for IfStmt in ITIR by @tehrengruber in #1664
  • feat[next][dace]: Canonicalize GTIR to enable lowering to SDFG for special cases by @edopao in #1681
  • feat[next][dace]: refactoring by @edopao in #1685
  • feat[next]: GTIR as_fieldop fusion pass by @tehrengruber in #1670
  • feat[next]: Add IR transform to remove unnecessary cast expressions by @edopao in #1688
  • [next]: Fix inline lambda pass opcount preserving option by @tehrengruber in #1687
  • feat[next]: gtir lowering of broadcasted scalars by @havogt in #1677
  • feat[next]: Allow type inference without domain argument to as_fieldop by @tehrengruber in #1689
  • feat[next][dace]: GTIR-to-DaCe lowering of map-reduce (only full connectivity) by @edopao in #1683
  • feat[next][dace]: GTIR-to-SDFG broadcast tuple scalar arg + cleanup by @edopao in #1693
  • refactor[cartesian]: Warn if GT4Py can't find DaCe by @romanc in #1692
  • feat[next]: GTIR temporary extraction pass by @tehrengruber in #1678
  • feat[next][dace]: Cleanup scalar args by @edopao in #1695
  • feat[next][dace]: GTIR-to-DaCe lowering of map-reduce with skip values by @edopao in #1694
  • bug[next]: foast2gtir lowering of broadcasted field by @havogt in #1701
  • fix[cartesian]: Verbose frontend error for bad call by @FlorianDeconinck in #1700
  • fext[next]: GTIR embedded backend (not active in tests) by @havogt in #1702
  • fix[next][dace]: Avoid bool cast in branch condition expressions by @edopao in #1707
  • feat[next][dace]: Stop carrying reduce identity in args context by @edopao in #1704
  • feat[next][dace]: Fix lowering of nested let-statements by @edopao in #1697
  • bug[next][dace]: Fix lowering of broadcast by @edopao in #1698
  • refactor[cartesian]: Replace is_start_state= with is_start_block= when buiding the SDFG for DaCe by @romanc in #1709
  • feat[next]: Allow partial type inference on ITIR by @tehrengruber in #1706
  • tests: fix name of license file configured in pyproject.toml by @romanc in #1718
  • ci: use actions/checkout@v4 and actions/setup-python@v5 by @romanc in #1717
  • bug[next]: fix lowering of tuples of neighbors in conditionals by @havogt in #1710
  • build: update dependencies by @havogt in #1720
  • feat[next]: enable gtir.embedded (and add support for Lists in output) by @havogt in #1703
  • test[cartesian]: Unskip blocked DaCe tests after DaCe upgrade by @romanc in #1714
  • feat[next][dace]: Add helper method to replace unicode symbols by @edopao in #1696
  • feat[next]: Index builtin by @SF-N in #1699
  • test[next]: non-supported itir.List test-case by @havogt in #1721
  • fix[DaCe]: Disable Some Transformations by @philip-paul-mueller in #1711
  • build: update gitpod image by @havogt in #1722
  • bug[next]: fix missing local kind in gtfn connectivity by @havogt in #1715
  • feat[next]: Enable GTIR dace backend in feature tests by @edopao in #1705
  • fix[cartesian]: While loops inside conditions by @romanc in #1712
  • fix[next][dace]: Fix for nested SDFG outer data descriptor by @edopao in #1726
  • feat[next]: Add memory and disk-based caching to more workflow steps by @SF-N in #1690
  • fix[next]: Bugfix in dace-ITIR backend: use canonical name for field shape symbol by @edopao in #1730
  • build: Bump gridtools-cpp to 2.3.7 in preparation of #1648 by @tehrengruber in #1732
  • bug[next]: Fix ITIR program hash stability by @tehrengruber in #1733
  • build: Bump gridtools-cpp to 2.3.8 in preparation of #1648 by @tehrengruber in #1737
  • fix[next]: Fix type preservation in CSE by @tehrengruber in #1736
  • feat[next]: GTIR embedded and GTFN temporaries with new lowering by @tehrengruber in #1648
  • refactor[catesian]: Type hints and code redability improvements by @romanc in #1724
  • ci: Bump gitlab ci on todi to ubuntu 22.04, cuda 12.6.2, cupy 13.3.0 by @tehrengruber in #1727
  • feat[next][dace]: Use offset_type to represent neighborhood information for local dimensions by @edopao in #1734
  • feat[next]: Upgrade dace dependency to v1.0.0 by @edopao in #1740
  • feat[next]: Enable GPU tests on GTIR DaCe backend by @edopao in #1741
  • feat[next]: Extend the IR pass for pruning of unnecessary casts by @edopao in #1728
  • bug[next]: extract scalar value with correct dtype by @havogt in https://github.com/GridTools/gt...
Read more

GT4Py v1.0.4

20 Sep 13:25
b6d4427

Choose a tag to compare

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

  • feature[next]: Temporary extraction heuristics by @tehrengruber in #1341
  • fix[next]: Detection of ROCM vs CUDA gpu runtime by @edopao in #1448
  • ci: Update CI config to use new template for container build by @edopao in #1450
  • feat[next]: Slicing field to 0d to return field not scalar by @nfarabullini in #1427
  • feature[next]: Improve CollapseTuple pass by @tehrengruber in #1350
  • fix[next][dace]: Bugfix in neighbor reduction by @edopao in #1456
  • refactor[next]: Change foast lowering from iterator of tuple to tuple of iterator by @tehrengruber in #1449
  • fix[next]: Disable collapse tuple if propagation by @tehrengruber in #1454
  • fix[next][dace]: Bugfix for nested neighbor reduction by @edopao in #1457
  • feat[next][dace]: Use gt4py symbols for field size as dace array shape by @edopao in #1458
  • feature[next]: toolchain configuration interfaces by @DropD in #1438
  • feat[next][dace]: Remove offsets in connectivity arrays by @edopao in #1460
  • build: Remove duplicated factory-boy dependency. by @egparedes in #1465
  • feat[next][dace]: Remove array offsets by @edopao in #1459
  • feat[next]: Embedded support for skip value connectivities by @havogt in #1441
  • feat[next]: new domain slice syntax by @nfarabullini in #1453
  • feat[next]: config improvements by @DropD in #1461
  • fix[next][dace]: Fix translation of if statement from tasklet to inter-state condition by @edopao in #1469
  • feat[cartesian]: Setting extra compile args and DaCe block size via env variables by @stubbiali in #1462
  • bug[next]: Fix reverse operators in embedded by @havogt in #1467
  • build: fix tox requirements task and hypothesis setting with updated version by @egparedes in #1472
  • feature[next]: Fix caching stability by @tehrengruber in #1473
  • feat[next][dace]: make canonical representation of field domain optional by @edopao in #1476
  • refactor[next]: Refactor workflow based executors and move the backend class. by @DropD in #1470
  • feat[next][dace]: Add gt4py workflow for the DaCe backend by @edopao in #1477
  • fix[next][dace]: accept runtime lift_mode as argument to dace backend by @edopao in #1481
  • feat[cartesian]: read-only data dims direct access & Fields by @FlorianDeconinck in #1451
  • style: Fix leftovers of moving lint infrastructure to ruff by @egparedes in #1480
  • feature[next]: Inline center deref lift vars by @tehrengruber in #1455
  • bug[next]: Increase recursion limit in TraceShift pass by @tehrengruber in #1482
  • bug[next]: Fix CSCS CI by pinning cupy to 12.3.0 by @tehrengruber in #1485
  • bug[next]: Mark cupy tests as requires gpu by @tehrengruber in #1483
  • feat[next]: variadic generic type by @nfarabullini in #1486
  • refactor[next]: workflowify PAST -> ITIR toolchain step by @DropD in #1479
  • style[next]: stricter typing in ffront by @havogt in #1492
  • feat[next]: concat_where for boundary conditions by @havogt in #1468
  • style[next]: improve typing in next.type_translation by @havogt in #1493
  • bug[next]: fix _Dedup for tuples in type_inference by @havogt in #1495
  • style[next]: more strict typing by @havogt in #1494
  • fix[next][dace]: Fixes to DaCe backend to support latest ITIR by @edopao in #1499
  • feature[next]: Validate no dynamic offsets by @tehrengruber in #1504
  • build: Update mypy configuration by @egparedes in #1505
  • refactor[next]: NamedRange/NamedIndex tuple to NamedTuple by @nfarabullini in #1490
  • bug[eve]: Preserve annex None value in visitors by @tehrengruber in #1508
  • feature[next]: Improve ITIR constant folding by @tehrengruber in #1510
  • bug[next]: Improve ITIR Pretty Printer by @tehrengruber in #1509
  • refactor[next]: make function definition -> PAST into a workflow step by @DropD in #1500
  • bug[next]: Fix gtfn code generation for negative literals by @tehrengruber in #1511
  • feat[next][dace]: Remove old dace backend (replaced by workflow infrastructure) by @edopao in #1503
  • build: add ruff to the automated requirement generation workflow by @egparedes in #1497
  • build: bump minimum version of typing_extensions requirement by @egparedes in #1512
  • Migrate from discontinued bump2version to bump-my-version by @egparedes in #1514
  • feat[next]: workshop material and docs field Dims type hint update by @nfarabullini in #1489
  • feat[next][dace]: Filter unused connectivity tables by @edopao in #1502
  • bug[next]: fix minimum version of bump-my-version by @havogt in #1515
  • style: update requirements and change ruff-format style to stable by @egparedes in #1517
  • style: minimize vertical space style by @egparedes in #1518
  • fix[next]: replace extended_runtime_checkable workaround by upgrading typing_extensions by @egparedes in #1519
  • build: bump required typing_extensions version to skip buggy versions by @egparedes in #1522
  • fix[next]: Fix Program.itir by @DropD in #1523
  • feat[next][dace]: Several features for icon4py-backend integration by @edopao in #1525
  • refactor[next]: itir embedded: cleaner closure run by @havogt in #1521
  • refactor[next]: Fencil to itir.Program for gtfn by @havogt in #1524
  • refactor[next]: Use type specification for itir.Literal by @tehrengruber in #1529
  • refactor[next]: Use is_call_to instead of equality comparison with itir.Ref. by @tehrengruber in #1532
  • test[next]: delete cppbackend_tests by @havogt in #1534
  • refactor[next]: move lift_mode itir test fixture into program_processor by @havogt in #1533
  • feat[cartesian]: gtc cuda backend deprecation by @FlorianDeconinck in #1498
  • refactor[next]: workflowify step3 by @DropD in #1516
  • ci[cartesian]: env var on CSCS-CI to suppress cuda backend deprecation error by @DropD in #1541
  • ci: define pytest addopts settings as env var in tox config by @egparedes in #1542
  • feat[cartesian]: Feedback when a bad backend is selected by @FlorianDeconinck in #1544
  • feat[next]: extend embedded implementation of premap() by @egparedes in #1501
  • build: update frozen dependencies by @havogt in #1543
  • refactor[next]: cleaner toolchain by @DropD in #1537
  • feat[next][dace]: Modify name of stride symbols by @edopao in #1548
  • ci: add manual trigger for daily...
Read more