The Inspector/Executor Compiler (IEC) implements a source-to-source transformation scheme for generating distributed memory code for irregular parallel loops. Loops might also contain dependences through associative and commutative reduction operators. Details of code-generation scheme described in the publications listed below.
M. Ravishankar, R. Dathathri, V. Elango, L.-N. Pouchet, J. Ramanujam, A. Rountev, and P. Sadayappan, "Distributed Memory Code Generation for Mixed Irregular/Regular Computations", ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), 2015. link. Example of generated code: link.
M. Ravishankar, J. Eisenlohr, L.-N. Pouchet, J. Ramanujam, A. Rountev, and P Sadayappan, "Automatic Parallelization of a Class of Irregular Loops for Distributed Memory Systems", ACM Transaction on Parallel Computing (TOPC), Sept 2014 link.
M. Ravishankar, J. Eisenlohr, L.-N. Pouchet, J. Ramanujam, A. Rountev, and P. Sadayappan, "Code Generation for Parallel Execution of a Class of Irregular Loops on Distributed Memory Systems", Supercomputing (SC), 2012. link.
Please follow the instructions in the README
This software is based upon work supported by the U. S. National Science Foundation under grants 0811457, 0904549, 0926127, 0926687, 1059417, 1321147 and 1404995 and by the U.S. Department of Energy under grant DE-SC0008844. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation, the Department of Energy, or The Ohio State University.