A Validation Suite For High-level Directive-based Programming Model For Accelerators
Yang, Jinxin 1989-
MetadataShow full item record
The broad adoption of accelerators boosts the interest in accelerator programming models. OpenACC is an emerging and directive-based programming model for accelerators that typically enables non-expert programmers to achieve portable and productive performance of their applications. The model is gaining popularity and being used for accelerating many types of applications, ranging from molecular dynamics codes to particle physics models. However, in order to ensure correctness of OpenACC’s compiler implementation and determine its conformance to the specification, there is a critical requirement of an up-to-date validation suite. In this thesis, we present a portable and robust validation suite execution environment to serve this purpose. The validation suite consists of a scalable testing infrastructure and more than 140 test cases for the most recent OpenACC 2.0 programming model, both for C and FORTRAN languages. The test cases aim to identify and resolve ambiguities within the OpenACC 2.0 specification. The framework of this testsuite is also robust enough to create test cases for the future releases. We evaluate three commercial OpenACC compilers that are being widely used for porting applications to accelerators and assist them in identifying and resolving compiler bugs helping them improve the quality of their compilers. We test their five stable compiler versions and collect the pass rate for tracking the validating status. The results show that the number of bugs decrease with every newer version of the compiler released demonstrating improved compiler quality. Based on the interesting observations during the development of the validation suite, we also give suggestions on improving the future specification, which are good feedback to the OpenACC community.