计算机科学 ›› 2017, Vol. 44 ›› Issue (3): 38-41.doi: 10.11896/j.issn.1002-137X.2017.03.010

• 2015全国高性能计算学术年会 • 上一篇    下一篇

一个面向任务图并行程序的错误检查工具

刘艳娜,陈莉,唐生林   

  1. 中国科学院计算机研究所 北京100190,中国科学院计算机研究所 北京100190,中国科学院计算机研究所 北京100190
  • 出版日期:2018-11-13 发布日期:2018-11-13
  • 基金资助:
    本文受国家自然科学基金(61432018),国家高技术研究发展计划(863)(2012AA010902)资助

Error Checking Tool for DAG-based Task Parallel Programs

LIU Yan-na, CHEN Li and TANG Sheng-lin   

  • Online:2018-11-13 Published:2018-11-13

摘要: AceMesh是一种基于数据流描述的任务并行编程语言,它允许程序员从串行程序出发,追加并行区域、并行循环的制导以及任务区的数据访问信息,AceMesh编译系统则自动把该程序转化为异步任务图并行的程序。分析了AceMesh程序改写中常见的并行化错误,介绍了其错误检查工具AceMeshCheck的结构,描述了访存轨迹的高效收集、存储方法以及逻辑形状推导的三维压缩算法。实验表明,AceMeshCheck不仅能分析出制导程序中的典型错误,而且开销较小。

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

Abstract: 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.

Key words: Task parallel language,Dataflow,Error checking,Dynamic program analysis,Mesh application

[1] ETSION Y,CABARCAS F,RICO A,et al.Task Superscalar:An Out-of-Order Task Pipeline[C]∥Proceedings of the Annual International Symposium on Microarchitecture(MICRO-43).2010:89-100.
[2] GAUTIER T,LIMA J V F,MAILLARD N,et al.XKaapi.A Runtime System for Data-Flow Task Programming on Heterogeneous Architectures[C]∥27th IEEE International Parallel & Distributed Processing Symposium (IPDPS).2013:1299-1308
[3] CARPENTER P M,REMIREZ A,AYGUADE E.Starsscheck:A Tool to Find Errors in Task-Based Parallel Programs[M]∥Euro-Par 2010-Parallel Processing.Springer Berlin Heidelberg,2010:2-13.

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!