exo-lang / exo

Exocompilation for productive programming of hardware accelerators
https://exo-lang.dev
MIT License
300 stars 28 forks source link

High-level Scheduling Operators #471

Open rachitnigam opened 1 year ago

rachitnigam commented 1 year ago

Tracker to dump ideas for high-level scheduling operators that could/should be implemented as composition of other scheduling operators. Add ideas for new operators as comments to this issue.

rachitnigam commented 1 year ago

divide_dim + divide_loop seems like a useful common pattern. For example, it is used in the scheduling example to extract a vector-sized dimension from the output memory and divide the loops that are used perform computations on that memory so that vector-sized loops are exposed. These loops can be subsequently mapped onto vector operations.