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]inpyproject.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
FORWARDandBACKWARDcomputations. - Undeprecated
__INLINEDas 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
uvis 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
condand useif_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
PruneUnreferencedFundefspass 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.functioninlining inwhileloops by @FlorianDeconinck in #1669 - feat[next]: Allow SymbolicDomain.translate with
ALL_NEIGHBORSandVALUEby @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_fieldopfusion 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_fieldopby @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=withis_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 #1723
- build: add devcontainer setup by @havogt in #1725
- feat[next]: remove NeighborTableOffsetProvider, use gtx.as_connectivity by @havogt in #1729
- feat[next][dace]: Symbolic domain without dace array offsets by @edopao in #1735
- bug[next]: Fix SetAt type inference for ts.DeferredType by @SF-N in #1747
- feat[next][dace]: Lowering to SDFG of index builtin by @edopao in #1751
- fix[cartesian]: Deactivate K offset write in
gt:gpuby @FlorianDeconinck in #1755 - refact[next][dace]: Helper function for field operator constructor by @edopao in #1743
- hotfix[cartesian]: Fixing k offset write utest deactivate by @FlorianDeconinck in #1757
- test[next]: Fix flaky failure in GTIR to SDFG tests by @edopao in #1759
- fix[next]: use current working directory as default cache folder root by @egparedes in #1744
- bug[next]: ConstantFolding after create_global_tmps by @SF-N in #1756
- fix[next]: Fix annex & type preservation in inline_lambdas by @tehrengruber in #1760
- refactor[next]: Use
set_at&as_fieldopinstead ofclosurein iterator tests by @tehrengruber in #1691 - style[eve]: remove unused imports and fix typos by @romanc in #1748
- fix[next]: Guard diskcache creation by file lock by @tehrengruber in #1745
- bug[next]: Fix codegen in gtfn for unused vertical offset provider by @nfarabullini in #1746
- feat[next]: Remove dace_iterator backend and pass_manager_legacy by @edopao in #1753
- bug[next]: Fix astype for local fields by @SF-N in #1761
- test[next]: cleanup test markers by @edopao in #1767
- test[next]: Disable iterator tests on DaCe GTIR backend by @edopao in #1768
- feat[dace]: Updated DaCe Transformations by @philip-paul-mueller in #1639
- style[cartesian]: readability improvements and more type hints by @romanc in #1752
- refactor[next]: remove use of Fencil in tracing (eliminate
closure) by @havogt in #1772 - refactor[next]: remove all FencilDefinitions from tests by @havogt in #1773
- feat[dace]: Restirct Loop Blocking by @philip-paul-mueller in #1775
- refactor[next]: remove FencilDefinition definition by @havogt in #1774
- feat[next]: Inline dynamic shifts by @tehrengruber in #1738
- build: fix min version of filelock by @havogt in #1777
- feat[next]: Change interval syntax in ITIR pretty printer by @tehrengruber in #1766
- refact[next][dace]: split handling of let-statement lambdas from stencil body by @edopao in #1781
- feat[dace][next]: Fixing strides in optimization by @philip-paul-mueller in #1782
- ci: fix boost install in cartesian and daily ci plan by @havogt in #1787
- bug[next]: Fix propagated symbols order stability across runs by @tehrengruber in #1788
- fix[cartesian]: Race condition in unit test for K write by @FlorianDeconinck in #1791
- build: drop support for python 3.8 and 3.9 by @egparedes in #1792
- refactor[next]: use eve.datamodel for types by @havogt in #1750
- feat[next]: SDFGConvertible Program for dace_fieldview backend by @DropD in #1742
- ci: Re-enable CI on GH200 by @havogt in #1653
- bug[next]: Fix CSE inside stencil by @tehrengruber in #1793
- fix[next]: gtfn with offset name != local dimension name by @havogt in #1789
- feature[next]: Non-tree-size-increasing collapse tuple on ifs by @tehrengruber in #1762
- fix[next][dace]: remove unused connectivities by @edopao in #1797
- feat[next][dace]: iterator-view support to DaCe backend by @edopao in #1790
- ci[cartesian]: disable test_K_offset_write on gt:gpu backend by @edopao in #1800
- ci: disable x86-targets (DaintXC) in CSCS CI-Ext by @edopao in #1801
- fix[dace][next]: Fix for DistributedBufferRelocator by @philip-paul-mueller in #1799
- feat[next]: Output argument with non-zero domain start by @tehrengruber in #1780
- fix[next][dace]: Fixing Strides Reconstruction During Propagation by @philip-paul-mueller in #1802
- feat[next]: Support for direct field operator call with domain arg by @tehrengruber in #1779
- ci[next]: Remove Github CI on GTIR branch by @edopao in #1804
- feat[next][dace]: lowering of scan to SDFG by @edopao in #1776
- style[cartesian]: Remove unused optional keyword arguments by @romanc in #1805
- feature[next]: Runtime check args in is_call_to by @tehrengruber in #1796
- refactor[next][dace]: normalize SDFG field type with local dimension by @edopao in #1808
- feat[next]: Add support for more datatypes by @SF-N in #1786
- refactor[next]: remove DaCe to GTFN dependency for IR hash functions by @edopao in #1809
- ci: disable test config for DaintXC by @edopao in #1812
- fix[next][dace]: Fix for
DistributedBufferRelocatorby @philip-paul-mueller in #1814 - refactor[next][dace]: cleanup dace backend module by @edopao in #1811
- test[cartesian]: Increased coverage for horizontal regions by @romanc in #1807
- style[cartesian]: fixing typos by @romanc in #1815
- feat[next]: Only inline scalars outside of stencils by @tehrengruber in #1794
- build: bump actions/upload-artifacts v3 -> v4 by @romanc in #1821
- ci[cartesian]: mypy warns about unused ignores by @romanc in #1823
- build: bump actions/download-artifacts v3 -> v4 by @romanc in #1822
- refactor[next]: fixed point transformation pass infrastructure by @SF-N in #1826
- refactor[next]: neg builtin for unary minus by @SF-N in #1819
- refactor[next]: new ir.makers for common builtins by @SF-N in #1827
- docs[next]: Updated the ADR0018 by @philip-paul-mueller in #1798
- fix[dace]: Fixed a bug in
gt_make_transients_persistent()by @philip-paul-mueller in #1831 - fix[next][dace]: handle if-expression as non-exclusive in field view by @edopao in #1824
- refactor[next][daxce]: cleanup get_sdfg_args() parameter list by @edopao in #1834
- build: update infrastructure to use the uv tool by @egparedes in #1813
- feat[next][dace]: keep transients on the output of a mapped nested SDFG by @edopao in #1828
- docs: update detailed nox examples by @romanc in #1838
- refactor[cartesian]: Minor cleanup in backends by @romanc in #1833
- feat[next][dace]: support for field origin in lowering to SDFG by @edopao in #1818
- bug[next]: Use same python in CMake as used for execution by @tehrengruber in #1567
- build: use frozen dependencies when running mypy in pre-commit by @havogt in #1841
- bug[next]: Fix accept args by @tehrengruber in #1830
- fix[next]: reshuffling for fields with non-zero domain start by @havogt in #1845
- bug[next]: Fix for GTIR partial type inference by @tehrengruber in #1840
- build[next]: switch dace version to main branch from git repo by @edopao in #1835
- feat[next]: Improve fieldop fusion by @tehrengruber in #1764
- fix[next][dace]: make if_ always execute branch exclusively by @edopao in #1846
- fix[dace]: Updating MapFusion by @philip-paul-mueller in #1850
- ci[cartesian]: Thread safe parallel stencil tests by @romanc in #1849
- tests[cartesian]: Increase horizontal region test coverage by @romanc in #1851
- test[next]: enable gpu test for 1d scan on dace backend by @edopao in #1854
- build: upgrade gt4py to numpy 2.x by @edopao in #1852
- fix[next][dace]: fix map fusion and loop blocking by @edopao in #1856
- build: bump minimum matplotlib version by @havogt in #1858
- fix[dace][next]: Fixed
LoopBlockingby @philip-paul-mueller in #1859 - fix[dace][next]: Update MapFusion by @philip-paul-mueller in #1857
- bug[next]: Fix domain pickle after
slice_atcall by @tehrengruber in #1865 - bug[next]: Fix applied lift extraction in CSE by @tehrengruber in #1864
- fix[next][dace]: Fixed a bug in the map fusion's default parameter by @philip-paul-mueller in #1866
- refactor[cartesian]: unexpanded sdfg cleanups by @romanc in #1860
- fix[dace][next]: Fixed name of pattern nodes by @philip-paul-mueller in #1871
- ci: Read env variable from os environment, not from nox by @edopao in #1869
- fix[next][dace]: use logical and/or/xor operators, not bitwise by @edopao in #1872
- fix[next]: Git ignore gt4py cache by @tehrengruber in #1875
- fix[next][dace]: remove temporary arrays with runtime shape on the output of a mapped nested SDFG by @edopao in #1877
- fix[cartesian]: DataType.isinteger() for 16-bit integers by @romanc in #1878
- fix[cartesian, dace]: warn about missing support for casting in variable k offsets by @romanc in #1882
- test[next]: initialize output array in dace-gtir subdomain tests by @edopao in #1886
- fix[dace][next]: Updated
gt_auto_optimize()by @philip-paul-mueller in #1889 - Remove the occurences of the old license headers by @twicki in #1887
- ci: Fail CI if xfails pass unexpectedly by @romanc in #1888
- test[cartesian]: conditional xfail instead of two tests by @romanc in #1885
- bug[next]: Respect evaluation order in
InlineCenterDerefLiftVarsby @tehrengruber in #1883 - fix[cartesian]: Fix minimal k-range computation by @twicki in #1842
- feat[next][dace]: Added
DistributedGlobalSelfCopyEliminationby @philip-paul-mueller in #1890 - feat[next]: ITIR type inference: store param types in
itir.Lambdaby @tehrengruber in #1868 - refactor[next]: Global ordering relation of dimensions by @SF-N in #1847
- refactor: stick to supported device types by @romanc in #1879
- style[cartesian]: Cleanup codegen tests by @twicki in #1899
- refactor[cartesian]: gt4py/dace bridge cleanup by @romanc in #1895
- refactor[next]: Simplify
ir_makers.domainby @SF-N in #1903 - fix[next][dace]: Update cuda codegen for concat_where by @edopao in #1906
- feat[dace][next]: Added
CopyChainRemoverby @philip-paul-mueller in #1901 - fix[dace][next]: Fixed some undefined behaviour in the chain remover. by @philip-paul-mueller in #1910
- feat[dace][next]: Updated GPU Transformation Scheme by @philip-paul-mueller in #1904
- docs: rename ADRs/Index.md to README.md by @romanc in #1907
- refactor: centralize
CUPY_DEVICE_TYPEin_core/definitionsby @romanc in #1908 - feat[next]: Extend and refactor constant folding by @SF-N in #1810
- refactor[cartesian]: Dace backend: expose control flow by @romanc in #1894
- refactor[cartesian, storage]: break dependency cycle; replace
GT4PY_USE_HIPby @romanc in #1916 - fix[next][dace]: Make default make_persistent=False by @edopao in #1920
- feat[next]: GTIR broadcast builtin by @SF-N in #1918
- ci: read python versions from files by @egparedes in #1919
- feat[eve]: Preserve annex in custom visitors by @tehrengruber in #1874
- feat[next]: Allow using compile time connectivity information only by @tehrengruber in #1862
- feat[dace][next]: Updated Array Removal Transformations by @philip-paul-mueller in #1915
- refactor[cartesian]: remove unused gt_version by @romanc in #1923
- fix[next]: change ordering of dims so vertical dims go at the end by @egparedes in #1922
- feat[next]: Flatten
as_fieldoptuple arguments by @tehrengruber in #1873 - fix[next][dace]: Fix array subset on the branches of if-expressions by @edopao in #1912
- build: bump DaCe to v1.0.2 by @romanc in #1924
- fix[next][dace]: Removed Workaround For DaCe Issue 1959 by @philip-paul-mueller in #1921
- fix[next]: get scalar value from 0d array in
_hypersliceby @halungge in #1925 - CI: Run CSCS-CI tests on santis by @edopao in #1934
- refactor[cartesian]: Report mutable class defaults by @romanc in #1933
- CI: Back to daint" by @havogt in #1936
- ci: and santis again by @havogt in #1940
- fix[next][dace]: Mapping of dace symbol to nested SDFG by @edopao in #1911
- feat[next][dace]: support as_fieldop with empty domain by @edopao in #1929
- refactor[next][dace]: Skip dace cache, use only gt4py cache in compilation stage by @edopao in #1930
- fix[next]: Restore type information in fuse_as_fieldop pass by @havogt in #1926
- fix[next]: Allow np.bool scalar in gtfn backend by @havogt in #1870
- feat[next][dace]: setup cached and non-cached DaCe backends by @edopao in #1941
- feat[next][dace]: Dead Dataflow Elimination by @philip-paul-mueller in #1939
- feat[dace][next]: Added Aditional StateFusion Transformation. by @philip-paul-mueller in #1927
- fix[dace][next]: Considering Empty Memlets in Dead Dataflow Elimination. by @philip-paul-mueller in #1944
- fix[next][dace]: fix orchestration for cached translation stage by @edopao in #1946
- fix[next][dace]: limit cuda streams to 1 by @edopao in #1947
- feat[next]: Allow setting compile-time stride to 1 for horizontal dimension by @havogt in #1943
- fix[dace][next]: Fixes GT4Py State Fusion by @philip-paul-mueller in #1949
- feat[next]: add flufl lock to compiledb and gtfn program compilation by @havogt in #1942
- ci: daint by @havogt in #1957
- bug[next]: type check ffront/decorator.py by @havogt in #1955
- ci: cluster hopping back to santis by @havogt in #1959
- fix[dace][next]: Added a second way to specify the leading dimension. by @philip-paul-mueller in #1952
- Fix[dace][next]: Fixed Local Buffer Transformation by @philip-paul-mueller in #1953
- feat[dace][next]: Added the
SplitAccessNodeTransformation by @philip-paul-mueller in #1954 - build: migrate from bump-my-version to versioningit by @egparedes in #1832
- fix[next]: Properly show compilation errors if compilation fails by @havogt in #1964
- fix[next]: use gridtools::nanobind::dynamic_stride for compatibility by @havogt in #1965
- bug[next]: fix constant folding of expression with boolean literals by @havogt in #1962
- feat[next]: Asynchronous pre-compilation by @havogt in #1951
- bug[next]: GTFN reduce python overhead by @havogt in #1963
- feat: set the CUDA architecture automatically in gtfn compilation by @egparedes in #1958
- docs: Split cartesian and next ADRs by @romanc in #1914
- bug[cartesian]: fix setuptools for CUDA compilation by @havogt in #1975
- bug[next]: construct test meshes with correct allocator by @havogt in #1974
- feat[dace][next]: Updated
LoopBlockingby @philip-paul-mueller in #1973 - build[next]: Bump DaCe Version by @philip-paul-mueller in #1977
- feat[next][dace]: use unit_stride_dimension in gt_auto_optimize by @edopao in #1966
- feat[dace][next]: Added the
MoveDataflowIntoIfBodyTansfromation by @philip-paul-mueller in #1967 - refactor[cartesian]: remove explicit use of boost by @havogt in #1971
- refactor[next]: Partial cleanup OffsetLiteralType by @SF-N in #1905
- bug[next]: Fix gtfn backend error when cupy installed but no gpu present by @tehrengruber in #1972
- bug[next]: Fix potential N^2 runtime in collapse tuple pass by @tehrengruber in #1984
- docs: move GDPs into
ADRs/cartesian/archivedby @romanc in #1979 - refactor[next][dace]: Updated
gt_auto_optimize()by @philip-paul-mueller in #1980 - feat[next][dace]: cleanup fastcall by @edopao in #1983
- fix[next][dace]: set gpu block size to avoid dace warnings by @edopao in #1986
- fix[next]: Temporary extraction for fields defined on different domains by @tehrengruber in #1985
- fix[next][dace]: Revisit dace config and compile arguments by @edopao in #1990
- ci: set
CCandCXXto force compiler used insetuptools/distutilsby @romanc in #1995 - fix[next]: Remove unnecessary visit in prune broadcast by @tehrengruber in #1993
- fix[cartesian]: daceir DomainInterval intersection by @romanc in #2000
- refactor[next]: Improved typing for common_pattern_matcher by @havogt in #1994
- fix[dace][next]: Fixes expanding of Not Supported Memlets by @philip-paul-mueller in #2004
- refactor[cartesian]: random cleanups (early returns, adding types, unused imports, ...) by @romanc in #2001
- feat[dace][next]: Updated
MapFusionby @philip-paul-mueller in #2005 - fext[next]: gtfn scan projector by @havogt in #1987
- fix[dace][next]: Fixed
MapFusion'srelocate_node()Method by @philip-paul-mueller in #2009 - build[dace][next]: Changed DaCe Source by @philip-paul-mueller in #2012
- fix[next]: Preserve annex in fixed point transformations by @tehrengruber in #2008
- build[dace][next]: Updated the DaCe by @philip-paul-mueller in #2015
- fix[next]: Prevent extraction from lambdas in cse pass by @tehrengruber in #2013
- fix[next]: Make type reinference optional in fixed point transform by @tehrengruber in #2010
- feat[next]: Precompile with static variants by @havogt in #1968
- feature[next]: field operator fusion argument deduplication by @tehrengruber in #2016
- fix[dace][next]: Fixed
MoveDataflowIntoIfBodyby @philip-paul-mueller in #2002 - feat[dace][next]: Adjusted the handling of non standard GPU Memlets. by @philip-paul-mueller in #1913
- build[next][dace]: Updated DaCe to the Newest Version by @philip-paul-mueller in #2021
- fix[next]: Fix cse extraction of lambda functions by @tehrengruber in #2018
- fix[next]: Improve dead-code-elimination to avoid domain inference failure by @tehrengruber in #2017
- feat[next]: Cache type synthesizer invocation by @tehrengruber in #2019
- feat[dace][next]: Modified How the GPU Block Size Is Set by @philip-paul-mueller in #2020
- fix[next][dace]: Use SDFG hash in dace cache for orchestration tests by @edopao in #2025
- refactor[cartesian]: Proper error messaging for functions in ifs by @twicki in #2023
- ci: add nox utilities for conditional session execution instead of using github actions by @egparedes in #1982
- fix[dace][next]: Updated How Dataflow Inside Maps is Optimized by @philip-paul-mueller in #2022
- fix[dace][next]: Order of Map Fusion in
auto_optimizer()by @philip-paul-mueller in #2026 - feat[dace][next]: Updated When
LoopBlockingApplies by @philip-paul-mueller in #2024 - fix[next]: Enable more constant folding transformations in dead code elimination by @tehrengruber in #2028
- fix[dace][next]: Fixed a Bug in
LoopBlockingby @philip-paul-mueller in #2027 - fix/build[dace][next]: Fixing Expanding of Empty Memlets by @philip-paul-mueller in #2033
- refactor[cartesian]: Remove __INLINED deprecation warning by @romanc in #2032
- style[next]: Remove temporary notes by @tehrengruber in #1989
- feat[next][dace]: Improve SDFG fast call by @edopao in #2029
- test[cartesian]: Fix some warnings in tests by @romanc in #2039
- fix[next][dace]: Enable mapping a scalar expression to a symbol on a nested SDFG by @edopao in #2036
- build[dace][next]: Updated the DaCe dependency by @philip-paul-mueller in #2043
- refactor[cartesian|next] Move imports of implementation down one level by @FlorianDeconinck in #2045
- refactor[cartesian]: misc cleanups in cartesian by @romanc in #2037
- test[next][dace]: fix warnings in strides test by @edopao in #2048
- ci: fix daily CI action bug by @egparedes in #2034
- refactor[next]: refactor embedded execution context utilities by @egparedes in #2046
- ci: Bump black version to support Python 3.11 by @edopao in #2053
- build[dace][next]: Updated DaCe dependency by @philip-paul-mueller in #2050
- refactor/test[dace][next]: Better Testing Infrastructure. by @philip-paul-mueller in #2052
- feat[next][dace]: Use dace cache for compiled programs by @edopao in #2047
- fix[next][dace]: Fix debug code in SDFG call by @edopao in #2051
- feat[next][dace]: Add config option for async sdfg call by @edopao in #2035
- feat[next]: Performance timers by @havogt in #1978
- feat[next][dace]: Add cpp timer to dace backend by @edopao in #1999
- bug[next]: fix tuple output in direct field operator call with domain argument by @nfarabullini in #2049
- fix[next]: fix nested tuple comparisons in 'cases' utilities by @egparedes in #2054
- test[next]: Enable unittest for performance metrics in dace backend by @edopao in #2055
- feat[next][dace]: Add SDFG transformation for map splitting by @edopao in #1992
- fix[next][dace]: Updated
SerialMapPromoterby @philip-paul-mueller in #2057 - fix[next][dace]: Add method to create custom dace backend by @edopao in #2059
- feat[dace][next]: Updated Edge Consolidation In
MapFusionby @philip-paul-mueller in #2061 - feat[next]: improve eve caching and hashing utilities by @egparedes in #2062
- feat[next]: GTIR concat_where frontend (remove chained comparison) by @havogt in #1998
- feat[dace][next]: Added the "Splitting Tools" by @philip-paul-mueller in #2058
- fix[next]: Use CustomMapping for caching of offset provider in program call by @edopao in #2044
- build[dace][next]: Updated DaCe by @philip-paul-mueller in #2064
- CI: Limit GT4PY_BUILD_JOBS=2 as workaround for hanging of dace-gpu tests by @edopao in #2068
- fix[dace][next]: Allowed Horizontal Promotion in
gt_auto_optimize()by @philip-paul-mueller in #2063 - feat[dace][next]: Added
MultiStateGlobalSelfCopyElimination2by @philip-paul-mueller in #2056 - fix[dace][next]: Updated Handling of Not Supported Memlets by @philip-paul-mueller in #2070
- fix[next][dace]: Do not apply map_promoter on symbolic range by @edopao in #2071
- fix[next][dace]: Fixes in warnings with more info by @iomaganaris in #2072
- fix[next]: Fix symbol name collision in CollapseTuple pass by @tehrengruber in #2073
- build[next]: Use new commit of dace integration branch by @edopao in #2076
- fix[next][dace]: Fix memlet subset in splitting tools by @edopao in #2075
- build[dace][next]: Updating DaCe by @philip-paul-mueller in #2078
- refactor[cartesian]: fix mypy issues for pyext_builder by @romanc in #2080
- refactor[cartesian]: more type hints by @romanc in #2088
- fix[next][dace]: Missing symbolic args in lambda nested scope by @edopao in #2094
- refactor[cartesian]: Always define stencil builder in module generator by @romanc in #2091
- fix[next]: offset_provider optional by @havogt in #2084
- fix[next]: Fix temporary allocation in gtfn by @havogt in #2092
- fix[next][dace]: Fix compile time symbol substitution by @iomaganaris in #2085
- feat[dace][next]: Updated
SingleStateGlobalSelfCopyEliminationby @philip-paul-mueller in #2060 - fix[next][dace]: Lock sdfg build folder to enable parallel build by @edopao in #2101
- fix[dace][next]: Fixed the Splitting Tools by @philip-paul-mueller in #2089
- chore: use precommit local hooks with uv and update dev scripts by @egparedes in #2086
- refactor[cartesian]: cleanups from oir -> treeir -> sdfg -> codegen workflow by @romanc in #2098
- feat: Python 3.12 support by @havogt in #2100
- refactor[cartesian]:
gtirfrom backend and type hints for dace backend by @romanc in #2103 - feat[next][dace]: Add option to custom dace backend by @edopao in #2105
- build[dace][next]: Updated DaCe Dependency by @philip-paul-mueller in #2099
- chore: bump minimum version of cytoolz, pyyaml, scipy, black for Python 3.12 support by @havogt in #2107
- feat[next]: make compiledb project relocatable by @havogt in #1969
- ci: job specific timelimit by @havogt in #2110
- feat: Python 3.13 support by @havogt in #2108
- build[dace][next]: Updated DaCe by @philip-paul-mueller in #2113
- ci[next]: workaround for timeout of dace tests by @edopao in #2114
- build[dace][next]: Updated DaCe by @philip-paul-mueller in #2117
- feat[core]: lock api by @havogt in #2109
- feat[next]: enable_jit on Program.call by @havogt in #2116
- ci: use scripts to select which tests to run based on the changed files by @egparedes in #2118
- refactor[cartesian]: Delete
CLIBackendMixinandgt4py/cartesian/cli.pyby @romanc in #2090 - refactor[cartesian|eve]: drop support for python version < 3.10 by @romanc in #2093
- ci: fix GitHub ci on push events to main by @egparedes in #2121
- feat[next]: concat where IR passes by @tehrengruber in #2065
- CI: explicitly set number of GPUs in slurm request by @edopao in #2133
- fix[next][dace]: Filter symbolic expressions as right hand-side assignments by @edopao in #2123
- fix[next][dace]: Fix in IR dace transformation by @edopao in #2128
- fix[dace][next]: No
ScalarToSymbolPromotioningt_auto_optimizer()by @philip-paul-mueller in #2132 - feat[next][dace]: Prevent VerticalMapFusion when there are neighbor reductions by @iomaganaris in #2124
- fix[next]: symbol clash in inline_lambda by @havogt in #2134
- feat[next]: Integration of concat_where by @SF-N in #1713
- ci: cleanup cscs cicd-ext pipeline by @egparedes in #2119
- feat[next][dace]: Map symbolic args to nested SDFG by @edopao in #2122
- build: update package extras and dependency groups by @egparedes in #2131
- refactor[next][dace]: Split and rename modules of SDFG lowering by @edopao in #2138
- build: fix dace groups by @egparedes in #2140
- build[next][dace]: Update DaCe version by @edopao in #2141
- feat[next][dace]: Lowering of concat_where to SDFG by @edopao in #2137
- refactor[next][dace]: Introduce dataclass for field operator domain range by @edopao in #2142
- build[dace][next]: Updated DaCe Dependency. by @philip-paul-mueller in #2144
- fix[next][dace]: Catch sympy parse error by @edopao in #2145
- bug[next]: Fix nested tuples in
concat_whereby @tehrengruber in #2143 - fix[dace][next]: Removed Special Case For
CopyChainRemover. by @philip-paul-mueller in #2146 - Updated the DaCe dependency. by @philip-paul-mueller in #2149
- fix[next][dace]: Wrong Argument Handling in
gt_substitute_compiletime_symbols(). by @philip-paul-mueller in #2147 - refactor[next][dace]: Code cosmetics by @edopao in #2152
- fix[next][dace]: Ensure non-negative shape of temporaries in concat_where expressions by @edopao in #2150
- ci: don't send slack notification if daily is triggered manually by @havogt in #2155
- fix[dace][next]: Get correct symbol mapping in MoveDataflowIntoIfBody by @edopao in #2154
- bug[next]: fix symlink issue in tmp directory by @havogt in #2156
- feat[dace][next]: Switch to DaCe MapFusion by @philip-paul-mueller in #2148
- refactor[dace][next]: Renamed
SerialMapPromotertoMapPromoter. by @philip-paul-mueller in #2158 - style: update linting tools configuration and apply changes by @egparedes in #2159
- Releasing v1.0.5. by @havogt in #2162
New Contributors
- @iomaganaris made their first contribution in #2072
Full Changelog: v1.0.4...v1.0.5