A Validation Testsuite for OpenACC 1.0

A Validation Testsuite for OpenACC 1.0
复制标题

OpenACC 1.0 的验证测试套件

DOI:
--
复制
发表时间:
2014
期刊:
2014 IEEE International Parallel & Distributed Processing Symposium Workshops
影响因子:
--
通讯作者:
Oscar R. Hernandez
Oscar R. Hernandez
中科院分区:
--
文献类型:
--
作者:
Cheng Wang;Rengan Xu;S. Chandrasekaran;B. Chapman;Oscar R. Hernandez

文献摘要

被引文献

相似文献

基于指令的编程模型提供了高层次的抽象,从而对程序员隐藏了底层硬件的复杂低级细节。OpenACC就是这样一个模型,它也是一个可移植的编程模型,允许程序员编写应用程序,将部分工作从主机CPU卸载到附加的加速器(GPU或类似设备)。该模型越来越受欢迎,并被用于加速许多类型的应用程序,从分子动力学代码到粒子物理模型。评估OpenACC实现的正确性并确定其与规范的一致性至关重要。在本文中,我们提出了一个强大的和可扩展的测试基础设施,服务于这一目的。我们与三家提供OpenACC编译器支持的主要供应商密切合作,并协助他们识别和解决编译器错误,帮助他们提高编译器的质量。该测试套件还旨在识别和解决OpenACC规范中的歧义。该测试套件已集成到橡树岭国家实验室的TITAN机器的线束基础设施中,并用于生产。该测试套件包含OpenACC的所有指令和子句的测试用例,适用于C和Fortran语言。本文讨论的测试套件主要关注OpenACC 1.0的特性集。测试套件的框架足够健壮,可以为2.0和未来的版本创建测试用例。这项工作正在进行中。
Directive-based programming models provide high-level of abstraction thus hiding complex low-level details of the underlying hardware from the programmer. One such model is OpenACC that is also a portable programming model allowing programmers to write applications that offload portions of work from a host CPU to an attached accelerator (GPU or a similar device). The model is gaining popularity and being used for accelerating many types of applications, ranging from molecular dynamics codes to particle physics models. It is critical to evaluate the correctness of the OpenACC implementations and determine its conformance to the specification. In this paper, we present a robust and scalable testing infrastructure that serves this purpose. We worked very closely with three main vendors that offer compiler support for OpenACC and assisted them in identifying and resolving compiler bugs helping them improve the quality of their compilers. The testsuite also aims to identify and resolve ambiguities within the OpenACC specification. This testsuite has been integrated into the harness infrastructure of the TITAN machine at Oak Ridge National Lab and is being used for production. The testsuite consists of test cases for all the directives and clauses of OpenACC, both for C and Fortran languages. The testsuite discussed in this paper focuses on the OpenACC 1.0 feature set. The framework of the testsuite is robust enough to create test cases for 2.0 and future releases. This work is in progress.