kth.sePublications KTH
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Errors Classification and Static Detection Techniques for Dual-Programming Model (OpenMP and OpenACC)
King Abdulaziz Univ, Fac Comp & Informat Technol, Dept Comp Sci, Jeddah 21514, Saudi Arabia..
King Abdulaziz Univ, Fac Comp & Informat Technol, Dept Comp Sci, Jeddah 21514, Saudi Arabia.;Agr Res Ctr ARC, Giza 12619, Egypt..
Univ Jeddah, Coll Comp Sci & Engn, Dept Software Engn, Jeddah 21493, Saudi Arabia..ORCID iD: 0000-0001-7644-5039
King Abdulaziz Univ, Fac Comp & Informat Technol, Dept Comp Sci, Jeddah 21514, Saudi Arabia..
Show others and affiliations
2022 (English)In: IEEE Access, E-ISSN 2169-3536, Vol. 10, p. 117808-117826Article in journal (Refereed) Published
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.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE) , 2022. Vol. 10, p. 117808-117826
Keywords [en]
Parallel programming, high-performance computing, OpenMP, OpenACC, deadlock, runtime errors, race condition, static testing, software testing, testing tools classifications, exascale systems, programming models
National Category
Computer Sciences Computer Systems
Identifiers
URN: urn:nbn:se:kth:diva-322203DOI: 10.1109/ACCESS.2022.3219406ISI: 000886158500001Scopus ID: 2-s2.0-85141604340OAI: oai:DiVA.org:kth-322203DiVA, id: diva2:1716467
Note

QC 20221206

Available from: 2022-12-06 Created: 2022-12-06 Last updated: 2022-12-06Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Haridi, Seif

Search in DiVA

By author/editor
Alghamdi, Ahmed MohammedHaridi, Seif
By organisation
Software and Computer systems, SCS
In the same journal
IEEE Access
Computer SciencesComputer Systems

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 246 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf