---
# System prepended metadata

title: GT4Py Workshop cycle 16
tags: [gt4py team workshops]

---

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