我是硕士生,我的论文主题是“线程级顺序程序的并行化,以便在多核处理器上运行”。我希望在线程级别自动并行化顺序程序,以便在具有软件流水线技术的多核处理器上运行。 我使用LLVM进行代码分析并将代码转换为IR,我可以提取PDG图表形式的IR代码并将其转换为SCCDAG并根据我的标准对DAGSCC进行分区。在下一步中,我可以识别分区之间的通信位置。 但是对于最终步骤和代码生成,我没有任何想法和信息来为线程分配分区和通信。我停在这个位置。不幸的是,我没有足够的时间来完成项目。 你能帮助我吗?你知道可以在短时间内帮助我的工具或参考资料吗? 感谢您的关注,祝您愉快。 最好的问候
答案 0 :(得分:0)
如果您处于压力之下,您是否可以略微更改主题?有许多与并行化相关的simillar主题可能会引起您的主管的兴趣,并可能更好地解决您的资源(时间,性能等)。
退房:
Checkout,与自动并行化相关的现有工具,如:
您可能希望使用Denotional Semantics主题,并使工具类似于cloog,将已识别的模式更改为openmp并行化代码。
顺便说一下。 ROSE (compiler framework)可能是LLVM的有趣替代品,因为它支持OpenMP - http://www.rosecompiler.org/。