Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat[next] high-level field storage API #1319

Merged
merged 288 commits into from
Nov 15, 2023

Conversation

havogt
Copy link
Contributor

@havogt havogt commented Aug 15, 2023

Introduce user API to allocate fields in gt4py.next.

Summary of main changes:

  • Introduce FieldBuffer allocator protocols and implementations
  • Introduce the concept of Backend as ProgramExecutor & Allocator
  • Replace np_as_located_field with as_field
  • Make NdArrayField public
  • Fixes for _core.definitions typings
  • Fixes and extensions of eve.extended_typing
  • Refactor the handling of backends/program processors in the testing infrastructure with string enumerations representing the qualified name of the Python symbol, which can be loaded on demand
  • Rename some executor symbols and modules
  • Minor style changes to imports and imported symbols to follow coding guidelines.

Open"To Do"s for future PRs:

  • Add support for GTFieldInterface protocol in cartesian and use it instead of NextGTDimsInterface protocol in next.
  • Add support for aligned_index != None in FieldBufferAllocator implementations
  • Add support for zero-copy construction of fields in constructors.as_field()

havogt and others added 30 commits August 3, 2023 07:39
- in embedded use dict[Dimension, Index] instead of dict[Tag, Index] as position
Co-authored-by: Till Ehrengruber <till.ehrengruber@cscs.ch>
@egparedes
Copy link
Contributor

egparedes commented Nov 14, 2023

I propose we document all TODOs

Added open TODOs to the PR description

@nfarabullini nfarabullini force-pushed the field_storage_interface branch from 9ae9533 to a53710a Compare November 14, 2023 10:47
egparedes and others added 3 commits November 14, 2023 17:12
- rename vars so that the reference is `ref`, not the result of the
  tested function

- fix missing equality test in assert statement in `test_empty`
@DropD
Copy link
Contributor

DropD commented Nov 15, 2023

cscs-ci run

@havogt havogt merged commit 0df592d into GridTools:main Nov 15, 2023
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants