Abstract
In this paper, we introduce a translation tool that translates any sequential C++ source code into parallel source code written in C++ and OpenACC programming model. The tool generates different types of dependency graphs: class, method, loop, and block-of-statements graphs. The class and method dependency graphs are created for the sequential code, and the loop and block-of-statements dependency graphs are created for each method. From the class dependency graph, the dependency analyser identifies the independent classes, where the objects of the independent classes can run in parallel, and from the method dependency graph, the method analyser detects the methods that can run in parallel. For each block, the analyser detects the statements that run in parallel, where there is no data dependency between statements, and the loop analyser detects the type of parallelism in the loop-block: parallel statements, pipeline, or data partitions.
| Original language | English |
|---|---|
| Title of host publication | 16th ACS/IEEE International Conference on Computer Systems and Applications, AICCSA 2019 |
| Publisher | IEEE Computer Society |
| ISBN (Electronic) | 9781728150529 |
| DOIs | |
| State | Published - Nov 2019 |
| Externally published | Yes |
| Event | 16th ACS/IEEE International Conference on Computer Systems and Applications, AICCSA 2019 - Abu Dhabi, United Arab Emirates Duration: 3 Nov 2019 → 7 Nov 2019 |
Publication series
| Name | Proceedings of IEEE/ACS International Conference on Computer Systems and Applications, AICCSA |
|---|---|
| Volume | 2019-November |
| ISSN (Print) | 2161-5322 |
| ISSN (Electronic) | 2161-5330 |
Conference
| Conference | 16th ACS/IEEE International Conference on Computer Systems and Applications, AICCSA 2019 |
|---|---|
| Country/Territory | United Arab Emirates |
| City | Abu Dhabi |
| Period | 3/11/19 → 7/11/19 |
Bibliographical note
Publisher Copyright:© 2019 IEEE.
Keywords
- Automatic code translation
- C++
- OpenACC
- Parallel code
- Sequential Code Translation
ASJC Scopus subject areas
- Control and Systems Engineering
- Signal Processing
- Hardware and Architecture
- Computer Science Applications
- Computer Networks and Communications
- Electrical and Electronic Engineering