Wednesday, August 23rd Topic proposals: - How does embedded field view work and what can you do with it? - General introduction - see slides from GT4Py workshop (Enrique) - unary operations - binary operations on same domain - intersection - remap - Debugging example (Hannes) - Discussion points: - Discuss slicing and offset syntax `field[I[1]]` vs `field(I[1])` - How to represent staggering? - `fbuiltin` dispatching to the correct field implementation. - How to decide the output in a mixed field implementation? - How to deal with structures of fields? - `log([a,b,c])`, jax pytrees - Combined IR - How would an IR look like that combines a local view (Iterator IR) and a field view (something like FieldOperatorAST) in a single IR. - Why do we think this is a good direction? Pros and cons? What are the consequences for development? - Discussion points: - How ot represent `concat` in local view? - Different output domain in field_operator tuple returns, especially one is subset of other - JIT vs AOT compilation - Introduction: - Summarize the current state. - Discussion points: - Which direction do we want to go: - JIT is the default with mechanism to allow AOT - AOT is the default, but allow to defer some definitions to runtime ## Slicing and offset syntax ```python! v(V2V)[V2V[0]](V2V[0]) v(V2V[0])(V2V[0]) f_v[I(-1):I(5)] == f_v[I[-1:5]] ?? ``` `f_v = V2E >> f_e` would be nice but operator precedence is bad