There is a need to separate the algorithm (mathematical formula) from the
optimization (scheduling). http://people.csail.mit.edu/jrk/halide-pldi13.pdf
The reason why many people need to write their own matrix library or their
processing algorithm is because they have very different optimization needs.