1. A method for compiling application source code, the method comprising: selecting a plurality of loops for parallelization, wherein the plurality of loops comprises a first loop and a second loop, wherein the plurality of loops are in a sequence; partitioning the first loop into a first plurality of chunks; partitioning the second loop into a second plurality of chunks; calculating a plurality of data dependencies between the first plurality of chunks and the second plurality of chunks, wherein a first chunk of the second plurality of chunks is dependent on a first chunk of the first plurality of chunks; inserting, into the first loop and prior to completing compilation, a precedent synchronization instruction for execution when execution of the first chunk of the first plurality of chunks completes; completing the compilation of the application source code to create an application compiled code; and for each loop of the plurality of loops, assigning, for execution, a plurality of threads in round robin order to chunks of the loop, wherein the plurality of threads are assigned in a same order for each of the plurality of loops.