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)
Related to #21 (closed). Might be blocked by #51 (closed)
Integrating Excit
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 ?
object | tiling method | |
---|---|---|
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.
Integration
We need to port the mchpc19 dgemm to this interface.