Oleksandr Zinenko, Stéphane Huot, Cédric Bastoul. Clint: A Direct Manipulation Tool for Parallelizing Compute-Intensive Program Parts. IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Jul 2014, Melbourne, Australia. IEEE, pp.109-112, 2014
Parallel systems are now omnipresent and their effective use requires significant effort and expertise from software developers. Multitude of languages and libraries offer convenient ways to express parallelism, but fall short at helping programmers to find parallelism in existing programs. To address this issue, we introduce Clint, a direct manipulation tool aimed to ease both the extraction and the expression of parallelism. Clint builds on polyhedral representation of programs to convey dynamic behavior, to perform automatic data dependence analysis and to ensure code correctness. It can be used to rework and improve automatically generated optimizations and to make manual program transformation faster, safer and more efficient.