ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs
In recent years, OpenACC has been used in many supercomputers and attracted many non-computer science specialists for parallelizing their programs in different scientific fields, including weather forecasting and simulations. OpenACC is a high-level programming model that supports parallelism and is...
Main Authors: | , , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2020-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/9079851/ |
_version_ | 1818578196540424192 |
---|---|
author | Fathy Elbouraey Eassa Ahmed Mohammed Alghamdi Seif Haridi Maher Ali Khemakhem Abdullah S. Al-Malaise Al-Ghamdi Eesa A. Alsolami |
author_facet | Fathy Elbouraey Eassa Ahmed Mohammed Alghamdi Seif Haridi Maher Ali Khemakhem Abdullah S. Al-Malaise Al-Ghamdi Eesa A. Alsolami |
author_sort | Fathy Elbouraey Eassa |
collection | DOAJ |
description | In recent years, OpenACC has been used in many supercomputers and attracted many non-computer science specialists for parallelizing their programs in different scientific fields, including weather forecasting and simulations. OpenACC is a high-level programming model that supports parallelism and is easy to learn to use by adding high-level directives without considering too many low-level details. Testing parallel programs is a difficult task, made even harder if using programming models, especially if they have been badly programmed. If so, it will be challenging to detect their runtime errors as well as their causes, whether the error is from the user source code or from the programming model directives. Even when these errors are detected and the source code modified, we cannot guarantee that the errors have been corrected or are still hidden. There are many tools and studies that have investigated several programming models for identifying and detecting related errors. However, OpenACC has not been targeted clearly in any testing tool or previous studies, even though OpenACC has many benefits and features that could lead to increasing use in achieving parallel systems with less effort. In this paper, we enhance ACC_TEST with the ability to test OpenACC-based programs and detect runtime errors by using hybrid-testing techniques that enhance error coverage occurring in OpenACC as well as overheads and testing time. |
first_indexed | 2024-12-16T06:41:58Z |
format | Article |
id | doaj.art-2414e48982a24545af3369a01d6e8d15 |
institution | Directory Open Access Journal |
issn | 2169-3536 |
language | English |
last_indexed | 2024-12-16T06:41:58Z |
publishDate | 2020-01-01 |
publisher | IEEE |
record_format | Article |
series | IEEE Access |
spelling | doaj.art-2414e48982a24545af3369a01d6e8d152022-12-21T22:40:39ZengIEEEIEEE Access2169-35362020-01-018803588036810.1109/ACCESS.2020.29910099079851ACC_TEST: Hybrid Testing Approach for OpenACC-Based ProgramsFathy Elbouraey Eassa0https://orcid.org/0000-0003-3987-9051Ahmed Mohammed Alghamdi1https://orcid.org/0000-0001-7644-5039Seif Haridi2https://orcid.org/0000-0002-6718-0144Maher Ali Khemakhem3Abdullah S. Al-Malaise Al-Ghamdi4Eesa A. Alsolami5https://orcid.org/0000-0003-0132-6662Department of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Software Engineering, College of Computer Science and Engineering, University of Jeddah, Jeddah, Saudi ArabiaKTH Royal Institute of Technology, Stockholm, SwedenDepartment of Computer Science, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Information Systems, Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi ArabiaDepartment of Cybersecurity, College of Computer Science and Engineering, University of Jeddah, Jeddah, Saudi ArabiaIn recent years, OpenACC has been used in many supercomputers and attracted many non-computer science specialists for parallelizing their programs in different scientific fields, including weather forecasting and simulations. OpenACC is a high-level programming model that supports parallelism and is easy to learn to use by adding high-level directives without considering too many low-level details. Testing parallel programs is a difficult task, made even harder if using programming models, especially if they have been badly programmed. If so, it will be challenging to detect their runtime errors as well as their causes, whether the error is from the user source code or from the programming model directives. Even when these errors are detected and the source code modified, we cannot guarantee that the errors have been corrected or are still hidden. There are many tools and studies that have investigated several programming models for identifying and detecting related errors. However, OpenACC has not been targeted clearly in any testing tool or previous studies, even though OpenACC has many benefits and features that could lead to increasing use in achieving parallel systems with less effort. In this paper, we enhance ACC_TEST with the ability to test OpenACC-based programs and detect runtime errors by using hybrid-testing techniques that enhance error coverage occurring in OpenACC as well as overheads and testing time.https://ieeexplore.ieee.org/document/9079851/OpenACCOpenACC testing toolhybrid-testing techniquesparallel programmingACC_TEST |
spellingShingle | Fathy Elbouraey Eassa Ahmed Mohammed Alghamdi Seif Haridi Maher Ali Khemakhem Abdullah S. Al-Malaise Al-Ghamdi Eesa A. Alsolami ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs IEEE Access OpenACC OpenACC testing tool hybrid-testing techniques parallel programming ACC_TEST |
title | ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs |
title_full | ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs |
title_fullStr | ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs |
title_full_unstemmed | ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs |
title_short | ACC_TEST: Hybrid Testing Approach for OpenACC-Based Programs |
title_sort | acc x005f test hybrid testing approach for openacc based programs |
topic | OpenACC OpenACC testing tool hybrid-testing techniques parallel programming ACC_TEST |
url | https://ieeexplore.ieee.org/document/9079851/ |
work_keys_str_mv | AT fathyelbouraeyeassa accx005ftesthybridtestingapproachforopenaccbasedprograms AT ahmedmohammedalghamdi accx005ftesthybridtestingapproachforopenaccbasedprograms AT seifharidi accx005ftesthybridtestingapproachforopenaccbasedprograms AT maheralikhemakhem accx005ftesthybridtestingapproachforopenaccbasedprograms AT abdullahsalmalaisealghamdi accx005ftesthybridtestingapproachforopenaccbasedprograms AT eesaaalsolami accx005ftesthybridtestingapproachforopenaccbasedprograms |