arrow
Return

Errors Classification and Static Detection Techniques for Dual-Programming Model (OpenMP and OpenACC)

delete2022-01-01
delete5
delete
OA
AI
H
Huda Basloom *
M
Mohamed Yehia Dahab
A
Ahmed Mohammed Alghamdi
F
Fathy Eassa
A
Abdullah Alghamdi
S
Seif Haridi
DOI:10.1109/ACCESS.2022.3219406delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Recently, incorporating more than one programming model into a system designed for high performance computing (HPC) has become a popular solution to implementing parallel systems. Since traditional programming languages, such as C, C++, and Fortran, do not support parallelism at the level of multi-core processors and accelerators, many programmers add one or more programming models to achieve parallelism and accelerate computation efficiently. These models include Open Accelerators (OpenACC) and Open Multi-Processing (OpenMP), which have recently been used with various models, including Message Passing Interface (MPI) and Compute Unified Device Architecture (CUDA). Due to the difficulty of predicting the behavior of threads, runtime errors cannot be predicted. The compiler cannot identify runtime errors such as data races, race conditions, deadlocks, or livelocks. Many studies have been conducted on the development of testing tools to detect runtime errors when using programming models, such as the combinations of OpenACC with MPI models and OpenMP with MPI. Although more applications use OpenACC and OpenMP together, no testing tools have been developed to test these applications to date. This paper presents a testing tool for detecting runtime using a static testing technique. This tool can detect actual and potential runtime errors during the integration of the OpenACC and OpenMP models into systems developed in C++. This tool implement error dependency graphs, which are proposed in this paper. Additionally, a dependency graph of the errors is provided, along with a classification of runtime errors that result from combining the two programming models mentioned earlier.
Keywords:
Parallel programming
high-performance computing
OpenMP
OpenACC
deadlock
runtime errors
race condition
static testing
software testing
testing tools classifications
exascale systems
programming models

Journal

IEEE Access cover
IEEE Access
IF:
3.6
Papers:
9.8W
Citations:
29.4W

Organization

U
University of Jeddah
Scholars:
2.3K
Papers: 2.6K
Citations: 3.6K
K
King Abdulaziz University
Scholars:
2.0W
Papers: 1.9W
Citations: 3.3W
A
agricultural research center - egypt
Scholars:
1.7K
Papers: 1.4K
Citations: 5
researcher View more organizations
Cited Papers

Cited Papers

L’agriculture libre
err2017-10-23
err0
errOAAI
errQuentin Chance; Morgan Meyer
errShare
errSave
Transformation of Aryl Acyloin O‐Alkyl and O‐Phenyl Derivatives to Ketones
err2007-07-25
err0
PREAI
errZhiyi Yao; Deju Ye; Hong Liu; Kaixian Chen; Hualiang Jiang
errShare
errSave
Dynamics of Cholesterol Exchange in the Oxysterol Binding Protein Family
err2008-05-01
err0
errOAAI
errBertram J. Canagarajah; Gerhard Hummer; William A. Prinz; James H. Hurley
errShare
errSave
errShare
errSave
A Pilot Evaluation of the Test-Retest Score Reliability of the Dimensions of Mastery Questionnaire in Preschool-Aged Children
err2011-07-01
err0
PREAI
errDeirdre Igoe; Christopher Peralta; Lindsey Jean; Sandra Vo; Linda Ngan Yep; Karl Zabjek; F. Virginia Wright
errShare
errSave
Managing evolution in software product lines
err2012-01-25
err0
PREAI
errMaxime Cordy; Andreas Classen; Pierre-Yves Schobbens; Patrick Heymans; Axel Legay
errShare
errSave
researcher View more