一个面向任务图并行程序的错误检查工具  被引量:2

Error Checking Tool for DAG-based Task Parallel Programs

在线阅读下载全文

作  者:刘艳娜[1] 陈莉[1] 唐生林[1] LIU Yan-na CHEN Li TANG Sheng-lin(Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190 , China)

机构地区:[1]中国科学院计算机研究所,北京100190

出  处:《计算机科学》2017年第3期38-41,共4页Computer Science

基  金:国家自然科学基金(61432018);国家高技术研究发展计划(863)(2012AA010902)资助

摘  要: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.

关 键 词:任务并行语言 数据流信息 错误检查 动态分析 网格应用 

分 类 号:TP321[自动化与计算机技术—计算机系统结构]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象