-
Notifications
You must be signed in to change notification settings - Fork 1
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
101 tutorials #62
base: main
Are you sure you want to change the base?
101 tutorials #62
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking good.
Overall I'd like to rename the folder "gt4py" -> "NDSL" and "serialbox" -> "Porting Fortan".
I also think we need to be careful about exposing a lot of the gt4py entrails that are covered by NDSL API. While we, the SMT team, require to know about it, the end users shouldn't. As well let's rename OO_gt4py to NDSL_basics because it factually is how we use GT4Py in NDSL.
tutorial/gt4py/01_basics.ipynb
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Describe GT4Py as a stencil system to differentiate with the full program optimizer later
- Remove
gt4py.storage
since we are already usingndsl.FloatField
lets remove that distinction and useQuantity
directly. Allocation are common scare for scientists, lets have a single point of entry - Add the main stencil restriction: write with offset in IJ, demonstrate a failure
- Add compile time switch (__INLINED)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quick question: where do I add the compile time switch (__INLINED)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Look at this unit test in gt4py
__INLINED
is a conditional switch, where the condition has to be given in the externals
. It turns the conditional into a compile time conditional (e.g. the externals can't change at runtime) and does branch culling so the conditional is removed from the runtime
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I addressed most of the bullet points. I'm still not sure what (__INLINED) is supposed to help with.
…y instead of gt_storage.
…hestration notebook
Adding 101 tutorials for the stack & the common workflows