GT4Py v1.0.2
Summary of changes since v1.0.1
Cartesian
- Compatibility of
gt4py.next
Fields withgt4py.cartesian
computations. - Fixes for DaCe 0.15.1 compatibility.
- Added
log10
as native function. - Make
scipy
optional: getscipy
by installinggt4py[full]
for best performance withnumpy
backend.
Storage
- Refactored low-level storage allocation.
All changes
- Fix typing of
cast_
builtin in ITIR type inference by @tehrengruber in #1182 - Fix codegen of dace:cpu by @gronerl in #1186
- Extend ITIR type inference to collect the types of all subexpressions by @tehrengruber in #1155
- Enhancements to CI and development tools configurations by @egparedes in #1163
- Eve: document behavior of annex by @havogt in #1137
- Update CI docs by @DropD in #1170
- Fix conditional test in frontend by @tehrengruber in #1190
- compiledb name: strip non-alphanumeric chars by @havogt in #1191
- Improve Gitpod pre-commit and remove obsolete files by @havogt in #1176
- GTFN: enable more tests by @havogt in #1192
- Implementations for as_offset by @nfarabullini in #1143
- Small fixes to FOAST -> ITIR lowering by @tehrengruber in #1196
- Implementation for min and max in domain by @nfarabullini in #1184
- config: Update development tools configuration and development documentation by @egparedes in #1189
- ITIR type inference fix stencil closure location constraints by @tehrengruber in #1185
- Fix lambda inliner if parameter is not referenced by @tehrengruber in #1206
- Onboarding checklist by @DropD in #1207
- Experimental GTFN Executor Caching by @tehrengruber in #1197
- Small improvements to ITIR type inference by @tehrengruber in #1205
- Fix GTFN Executor Caching by @tehrengruber in #1214
- ci: Fix 'no_impliit_reexport' typo in mypy config by @havogt in #1213
- Enhance CSE to support lambdas by @tehrengruber in #1175
- Replace partial shifts by neighbor lists by @havogt in #1179
- bug[next]: Support type inference for math builtins by @havogt in #1217
- fix[next]: Fix cpp_backend tests by @havogt in #1222
- refactor[next]: Typing for bindings by @havogt in #1218
- fix[next]: Cleaner SID bindings by @havogt in #1225
- tests[all]: update the test file structure by @DropD in #1226
- Add proper test condition to tests in test_execution.py by @gronerl in #1208
- Simplify ITIR shift collector (TraceShifts) by @tehrengruber in #1216
- feature[next]: Tuple in bindings by @havogt in #1221
- refactor[next]: interface for creating workflow variants. by @DropD in #1224
- fix[next]: ITIR type inference for dynamic offsets by @tehrengruber in #1228
- test[next]: Add todo for improving foast lowering by @tehrengruber in #1230
- feature[eve]: Add functionality to preserve parts of the annex in
NodeTranslator
s by @tehrengruber in #1227 - Propagate foast & past typing information to ITIR by @tehrengruber in #1199
- build: enhance dependency management and make
scipy
optional. by @egparedes in #1215 - test[next]: Move ffront laplacian tests by @tehrengruber in #1229
- feature[next]: Allow manually selecting the grid type of a field operator by @tehrengruber in #1239
- bug[next]: Fix shift / remap lowering by @tehrengruber in #1231
- feature[next]: bindings for sparse fields by @havogt in #1237
- refactor[next]: itir_makers -> iterator.makers by @DropD in #1241
- fix[next]: Yet another test parametrization cleanup by @havogt in #1244
- fix[next,gtfn]: fix too eager generation of integral_constants by @tehrengruber in #1204
- Disable CSE for an
if
with a condition callingcan_deref
by @tehrengruber in #1246 - feature[next]: Allow passing grid_type to field operator by @tehrengruber in #1247
- test[next]: simplify boilerplate for fieldview single feature tests by @DropD in #1236
- feat[next]: use context vars instead of global state in embedded iterator execution by @havogt in #1120
- feature[next]: Extend Single Static Assignment (SSA) pass to support if statements by @tehrengruber in #1250
- fix[next]: improved tuple collapse by @havogt in #1243
- feature[next]: Scalar if by @tehrengruber in #1079
- docs[cartesian]: fix paths in documentation by @edopao in #1253
- Ignore system paths for C++ libraries by @petiaccja in #1257
- build: freeze typing_extensions version by @egparedes in #1256
- feature[next]: Improve CSE pass by @tehrengruber in #1252
- feature[cartesian]: Add log10: as a native function by @oelbert in #1262
- fix[next]: Use dataclasses.replace for with_grid_type and with_backend by @tehrengruber in #1264
- feature[next]: Save type to annex in ITIR type inference by @tehrengruber in #1259
- refactor[next]: add public API to top level by @DropD in #1263
- Test execution conversion by @nfarabullini in #1265
- change of fieldview_backend by @nfarabullini in #1266
- Test refactoring 1 by @nfarabullini in #1268
- feature[next]: Remove int type from FOAST, PAST, ITIR by @tehrengruber in #1255
- refactor[next]: Frontend test refactoring part 2 by @nfarabullini in #1270
- fix[next]: Fix CSE extraction for if statements by @tehrengruber in #1273
- feature[next]: Add support for positional-or-keyword arguments by @tehrengruber in #1248
- refactor[next]: Frontend test refactoring part 3 by @nfarabullini in #1274
- feature[next]: Use global type information in CollapseTuple pass by @tehrengruber in #1260
- feature[next]: Pretty format Iterator roundtrip backend output by @tehrengruber in #1281
- bug[next]: itir.embedded: fix shift inside scan pass by @tehrengruber in #1280
- feature[next]: Fix function signature validation for tuple arguments by @tehrengruber in #1279
- feature[next] enable field origin in GTFN backend by @petiaccja in #1277
- [next] DaCe backend by @petiaccja in #1245
- ci: uplift version of nvidia base image by @edopao in #1285
- documentation[next]: CODING_GUIDELINES.md edits by @nfarabullini in #1272
- fix[next]: ensure scan operator
init
,carry
, return type is consistent by @nfarabullini in #1286 - refactor[next]: use eve.codegen format utils instead of black in ITIR roundtrip backend by @egparedes in #1287
- docs: Move release documentation to docs/development by @egparedes in #1238
- refactor[next] error handling by @petiaccja in #1275
- feat[next]: DaCe scan operator by @edopao in #1284
- fix[next]: DaCe scalar argument in stencil closure by @edopao in #1293
- feat[next]: enable DaCe test macro by @edopao in #1288
- fix[next]: DaCe scan connectivities by @edopao in #1297
- deps: add nanobind and (optional) jax for future features by @havogt in #1306
- feature[cartesian]: Add support for HIP/ROCm by @stubbiali in #1278
- feature[next]: Improve ITIR CountSymbolRefs pass by @tehrengruber in #1302
- refactor[next]: use gt_dims in LocatedField by @havogt in #1307
- bug[next]: cleanup xfails by @havogt in #1282
- Neighbor reductions by @gronerl in #1298
- bug[next]: Improve ITIR type inference by @tehrengruber in #1301
- feat: low-level buffer allocation utilities for new storages by @egparedes in #1303
- feat[next]: Basic support for field operations (same domain, no shifting) by @egparedes in #1296
- refactor[next]: iterator.embedded cleanups by @havogt in #1311
- refactor[next]: Refactor ITIR CSE pass by @tehrengruber in #1261
- feature[next]: Extend TraceShifts to support tuple_get, make_tuple, if by @tehrengruber in #1304
- bug[next]: Fix ITIR nested tuple return tracing by @tehrengruber in #1317
- feature[next]: Add argument types to ITIR when tracing by @tehrengruber in #1318
- deps: Update GridTools C++ dependency to 2.3.1 by @havogt in #1324
- refactor[next]: Replace pybind11 with nanobind by @petiaccja in #1299
- feat[next]: embedded.ndarray_field: field slicing and intersection by @samkellerhals in #1315
- feature[next]: astype for scalars by @tehrengruber in #1326
- Program with bound arguments by @nfarabullini in #1312
- feature[next]: Collect shifts for all nodes in TraceShift pass by @tehrengruber in #1321
- feat[next]: Add
FieldBuiltinFuncRegistry
mixin by @samkellerhals in #1330 - test[next]: enable DaCe tests with type propagation by @edopao in #1331
- refactor[next] Prepare new Field for itir.embedded by @havogt in #1329
- fix[cartesian]: use distutils from setuptools instead of the standard library by @egparedes in #1334
- feat[next]: DaCe support for floordiv by @edopao in #1337
- feat[next]: iterator.embedded with new Field implementation by @havogt in #1308
- feature[next]: Temporaries by @tehrengruber in #1271
- test[cartesian]: update hypothesis and fix the health check issues found in daily CI by @DropD in #1333
- feat[next]: extend DaCe support of reduction operator by @edopao in #1332
- test[next]: check for DaCe dependency in test execution by @edopao in #1336
- fix[next]: Fixes and additions to test exclusion matrices functionality by @egparedes in #1345
- feat[next]: Add support for using Type Aliases by @ninaburg in #1335
- feat[next-dace]: Add support for GPU execution by @edopao in #1347
- fix[next-dace]: Preserve ITIR data layout by @edopao in #1346
- feat[next]: DaCe support for field arguments with domain offset by @edopao in #1348
- feat[next]: DaCe support for neighbor strided offset by @edopao in #1344
- fix[next]: DaCe field addressing in builtin_neighbors by @edopao in #1349
- feat[next]: DaCe support for tuple returns by @edopao in #1343
- feature[next] GPU backend from Python by @petiaccja in #1325
- feat[next]: Extend DaCe support for offset providers by @edopao in #1353
- fix[next]: Improvements in DaCe backend by @edopao in #1354
- feat[next]: Limit use of global type inference in CollapseTuple pass by @nfarabullini in #1355
- feat[next] high-level field storage API by @havogt in #1319
- bug[next] Fix broken gpu tox setup by @havogt in #1358
- feat[next]: add
where
to embedded field view by @havogt in #1316 - feat[next]: DaCe support for can_deref by @edopao in #1356
- feat[next]: Extend astype to work with tuples by @ninaburg in #1352
- fix[next]: Names of variable in tests by @ninaburg in #1362
- feat[next] Enable embedded field view in ffront_tests by @havogt in #1361
- feat[next] Enable GPU backend tests by @havogt in #1357
- feat[next] Embedded field remove array by @havogt in #1366
- feature[next]: remap and connectivity implementations for embedded by @havogt in #1309
- feat[next]: DaCe backend - enable GPU test execution by @edopao in #1360
- fix[next]: Fix for GPU test execution by @edopao in #1368
- test[next]: Fix warnings that cause Spack to crash by @edopao in #1369
- fix[next]: DaCe backend - symbol propagation in lambda scope by @edopao in #1367
- feature[next]: Cache direct field operator call (
as_program
) by @tehrengruber in #1254 - refactor[next]: Move iterator utils to dedicated module by @tehrengruber in #1371
- feat[next]: Add option to ITIR transformation to inline lambda args by @edopao in #1370
- fix[cartesian]: DaceIR bridge for DaCe v0.15 by @FlorianDeconinck in #1373
- feat[next][dace]: Support for sparse fields and reductions over lift expressions by @edopao in #1377
- feat[next][dace]: Support for reduce-unroll special case by @edopao in #1381
- fix[next]: Proper calling signature in DaCe by @philip-paul-mueller in #1374
- DaCe 0.15 suffix state struct hotfix by @FlorianDeconinck in #1382
- feat[next]: Separates ITIR -> SDFG translation from running by @philip-paul-mueller in #1379
- fix[next][dace]: Add check on neighbor index by @edopao in #1383
- feat[next][dace]: Add support for if expressions with tuple argument by @edopao in #1393
- feat[next]: Embedded field scan by @havogt in #1365
- feat[next][dace]: Fix for broken DaCe test by @edopao in #1396
- style[next]: standardize error messages. by @DropD in #1386
- docs[next]: Partially fix Quickstart Guide by @tehrengruber in #1390
- feat[next]: Add missing UnitRange comparison functions by @havogt in #1363
- feat[dace]: Buildflags to the
ITIR -> SDFG
translation by @philip-paul-mueller in #1389 - feat[dace]: Computing SDFG call arguments by @philip-paul-mueller in #1398
- fix[next][dace]: Fix memlet for array slicing by @edopao in #1399
- fix[dace]: Fixed SDFG args by @philip-paul-mueller in #1400
- feat[next]: Support for local dimension in output by @havogt in #1392
- bug[next]: Add missing grid_type argument to scan operator decorator by @tehrengruber in #1404
- bug[next]: Fix size check in CollapseTuple pass by @tehrengruber in #1405
- bug[next]: respect DEFAULT_BACKEND and no_backend mechanism by @havogt in #1380
- bug[next]: recover grid_type in scan_operator by @havogt in #1408
- feature[next]: Add power unrolling functionality and respective unit tests. by @SF-N in #1409
- fix[cartesian]: DaCe array access in tasklet by @edopao in #1410
- bug[next]: Bound args kwargs edit by @nfarabullini in #1411
- Cartesian vs Next example by @havogt in #1202
- feat[next]: Pass sizes to temporaries from gt4py program by @samkellerhals in #1359
- build[cartesian][next]: Bump dace version from 0.14.4 to 0.15.1 by @edopao in #1391
- feature[next]: add support for Python3.11 fixing typing-related bugs by @egparedes in #1418
- bug[next]: Improve error message on invalid call to field operator and program by @tehrengruber in #1323
- feat[next][dace]: Add more debug info to DaCe by @kotsaloscv in #1384
- Bump version to 1.0.2 by @havogt in #1421
New Contributors
- @edopao made their first contribution in #1253
- @oelbert made their first contribution in #1262
- @ninaburg made their first contribution in #1335
- @philip-paul-mueller made their first contribution in #1374
- @SF-N made their first contribution in #1409
- @kotsaloscv made their first contribution in #1384
Full Changelog: v1.0.1...v1.0.2