发明名称 |
LOOP NEST PARALLELIZATION WITHOUT LOOP LINEARIZATION |
摘要 |
Systems and methods may provide for identifying a nested loop iteration space in user code, wherein the nested loop iteration space includes a plurality of outer loop iterations, and distributing iterations from the nested loop iteration space across a plurality of threads, wherein each thread is assigned a group of outer loop iterations. Additionally, a compiler output may be automatically generated, wherein the compiler output contains serial code corresponding to each group of outer loop iterations and de-linearization code to be executed outside the plurality of outer loop iterations. In one example, the de-linearization code includes index recovery code that is positioned before one or more instances of the serial code in the compiler output. |
申请公布号 |
US2016085530(A1) |
申请公布日期 |
2016.03.24 |
申请号 |
US201414493640 |
申请日期 |
2014.09.23 |
申请人 |
Duran Gonzalez Alejandro |
发明人 |
Duran Gonzalez Alejandro |
分类号 |
G06F9/45;G06F9/44 |
主分类号 |
G06F9/45 |
代理机构 |
|
代理人 |
|
主权项 |
1. A code utility system, comprising:
a design interface to receive user code; a compiler coupled to the design interface, the compiler including: a nested loop detector to identify a nested loop iteration space in the user code, wherein the nested loop iteration space includes a plurality of outer loop iterations; a linearized iterations distributor to distribute iterations from the nested loop iteration space across a plurality of threads, wherein each thread is to be assigned a group of outer loop iterations; a de-linearizer to automatically generate a compiler output that contains serial code corresponding to each group of outer loop iterations and de-linearization code to be executed outside the plurality of outer loop iterations, wherein the de-linearization code is to include index recovery code, prologue code dedicated to an initial iteration in one or more of the groups of outer iterations, and epilogue code dedicated to a final iteration in one or more of the groups of outer iterations; and a report interface coupled to the compiler, the report interface to transmit the compiler output. |
地址 |
Barcelona ES |