Source: https://www2.eecs.berkeley.edu/~yelick/papers/indigo-dsl-ipdps18.pdf