摘要
AceMesh是一种基于数据流描述的任务并行编程语言,它允许程序员从串行程序出发,追加并行区域、并行循环的制导以及任务区的数据访问信息,AceMesh编译系统则自动把该程序转化为异步任务图并行的程序。分析了AceMesh程序改写中常见的并行化错误,介绍了其错误检查工具AceMeshCheck的结构,描述了访存轨迹的高效收集、存储方法以及逻辑形状推导的三维压缩算法。实验表明,AceMeshCheck不仅能分析出制导程序中的典型错误,而且开销较小。
AceMesh is a dataflow-driven' task parallel programming language,which allows programmers to parallelize traditional C/C+ + program by using pragmas marking parallel regions, parallel loops and task regions with data inputs and outputs description. Then the program can be translated to a DAG-based task parallel program, being built depen- dency graphs at runtime and scheduled to multicore platforms efficiently. This paper analysed typical errors which may exhibit in parallelizing AceMesh programs, and introduced AceMeshCheck, a debug tool for them. The paper presented the implementation details of the tool, and discussed how it reduces the overhead of memory trace collection, and how to rebuild the three dimensional, rectangular access regions from linearized memory access sequences. Experimental results show that the tool can identify typical errors hidden in AceMesh programs with relatively low overhead.
作者
刘艳娜
陈莉
唐生林
LIU Yan-na CHEN Li TANG Sheng-lin(Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190 , China)
出处
《计算机科学》
CSCD
北大核心
2017年第3期38-41,共4页
Computer Science
基金
国家自然科学基金(61432018)
国家高技术研究发展计划(863)(2012AA010902)资助
关键词
任务并行语言
数据流信息
错误检查
动态分析
网格应用
Task parallel language,Dataflow, Error checking,Dynamic program analysis, Mesh application