1. A method, comprising: receiving a computer-executable algorithm that is configured to execute a matrix computation on a tile of a matrix; translating the computer-executable algorithm into a computer-implemented global directed acyclic graph that comprises a plurality of vertices and a corresponding plurality of edges, wherein a vertex in the global directed acyclic graph configured to perform a sequence of operations on the tile of the matrix and the plurality of edges represent data dependencies between coupled vertices; and representing the vertex in the global directed acyclic graph as a local directed acyclic graph that comprises a plurality of vertices, wherein a vertex in the local directed acyclic graph is configured to execute a mathematical operation on a matrix block that is smaller than the tile, and wherein the vertex in the local directed acyclic graph executes the mathematical operation in a data-driven manner.