1. A method executed by one or more computing devices for parallelization of a computer program on a plurality of computing cores, the method comprising: receiving, by at least one of the one or more computing devices, the computer program comprising a plurality of commands; decomposing, by at least one of the one or more computing devices, the plurality of commands into a plurality of node networks, wherein each node network corresponds to a command in the plurality of commands and includes one or more nodes corresponding to execution dependencies of the command; mapping, by at least one of the one or more computing devices, the plurality of node networks to a plurality of systolic arrays, wherein each systolic array comprises a plurality of cells and wherein each non-data node in each node network is mapped to a cell in the plurality of cells; and mapping, by at least one of the one or more computing devices, each cell in each systolic array to a computing core in the plurality of computing cores.