Excit Integration: Iterators and Tiling Iterators
- embed excit inside aml (git submodule)
- design a new tiling iterator interface based on it
- validate on old benchmarks (MCHPC19)
Choice between submodule and external dependency: submodule is easier for development.
Tiling Iterator API
First design choice: tiling iterator object or just a way to retrieve a retrieve a tile using an iterator state as input ?
|pros||"hide" excit from the user||simple implementation|
|cons||pretty much need an entire building block with generic API and implementation||excit becomes part of AML API|
One point of note: excit would be useful for other parts of AML, in particular topology management.
-> We've settled for an
index_byiter for now, but we might need to do both in the end.
Second design choice: do we need to be able to convert two-ways between tile and iterator ?
- it is difficult to recover a tile coordinates from a layout already
- it is not clear we need this functionality: we don't have use-cases at this point
-> Leave it for now.
We need to port the mchpc19 dgemm to this interface.