Proceedings Article10.1109/AICCSA47632.2019.9035292
A Tool for Translating Sequential Source Code to Parallel Code Written in C++ and OpenACC
Khalid Alsubhi,Fawaz Alsolami,Abdullah Algarni,E. Albassam,Maher Khemakhem,Fathy Alburaei Eassa,Kamal Jambi,M. Usman Ashraf +7 more
- 01 Nov 2019
- pp 1-8
12
TL;DR: A translation tool that translates any sequential C++ source code into parallel source code written in C++ and OpenACC programming model and generates different types of dependency graphs: class, method, loop, and block-of-statements graphs.
read more
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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
AAQAL: A Machine Learning-Based Tool for Performance Optimization of Parallel SPMV Computations Using Block CSR
Muhammad Ahmed,Sardar Usman,Nehad Ali Shah,Muhammad Usman Ashraf,Ahmed Mohammed Alghamdi,Adel A. Bahadded,Khalid Almarhabi +6 more
TL;DR: This is the first attempt at exploiting matrix structure using BCSR, to select optimal block sizes for the SpMV computations using machine learning techniques.
COVID Detection Using Chest X-ray Images & Deep Learning CNN Mechanism
TL;DR: In this article , a new solution for existing model and to enhance the ResNet model by applying layered architecture style by adding more layers to our ResNet which will help to minimize the error rate.
Comparative Analysis of Machine Learning Techniques for Predicting Air Pollution
TL;DR: In this article , the authors proposed an architecture design that could make real-time prediction of air pollution with another purpose of scanning the frequently adopted algorithm in past investigations, which is also intended to narrate the toxic effects of the air pollution on human health.
2
hmCodeTrans: Human-Machine Interactive Code Translation
Jiaqi Liu,Fengming Zhang,Xin Zhang,Zhiwen Yu,Liang Wang,Yao Zhang +5 more
TL;DR: hmCodeTrans proposes a novel interactive human-machine collaborative code translation method that significantly reduces human effort and response time. It introduces two novel human-machine collaboration patterns and two proposed modules to achieve this goal.
1
M2C: A Massive Performance and Energy Throttling Framework for High-Performance Computing Systems
TL;DR: A novel parallel programming model that provides massive performance under power consumption limitations by parallelizing data on the heterogeneous system to provide coarse grain and fine-grain parallelism is introduced.
References
Finding parallel patterns through static analysis in C++ applications
David del Rio Astorga,Manuel F. Dolz,Luis Miguel Sanchez,J. Daniel Garcia,Marco Danelutto,Massimo Torquati +5 more
TL;DR: This tool simplifies the transformation of sequential source code to parallel and provides support for identifying Map, Farm, and Pipeline parallel patterns and evaluates the quality of the detection for a set of different C++ applications.
A Review of Parallelization Tools and Introduction to Easypar
Sudhakar Sah,Vinay G. Vaidya +1 more
TL;DR: In this article, a classification of parallel program assistance tools is presented, based on different eras of tool development, role played by these tools in various parallelization stages, and features provided by Parallel Program Assistance Tools.
ParaCite: Auto-parallelization of a sequential program using the Program Dependence Graph
Sesha Kalyur,G. S. Nagaraja +1 more
- 01 Oct 2016
TL;DR: This paper proposes a solution based on the Program Dependence Graph model, that targets both numerical and general purpose programs to deliver the expected parallelism in program parallelization.
13
Automatic Code Parallelization with OpenMP task constructs
Manju Mathews,Jisha P Abraham +1 more
- 01 Aug 2016
TL;DR: The proposed scheme statically decomposes a sequential C program into coarse grain tasks, analyze dependency among tasks and generates OpenMP parallel code that can run on a wide range of SMP machines and may result in a performance improvement.
12
Controlling the granularity of automatic parallel programs
Alcides Fonseca,Bruno Cabral +1 more
TL;DR: This work proposes a cost-model to decide between different parallelization alternatives, and uses an hybrid approach that performs optimizations at compile-time and at runtime, and is modular and can be applied to any programming language in any task-based runtime for shared-memory.
12
Related Papers (5)
Thomas Johnsson
- 01 Sep 1987
[...]
Sanil Rao,Anurag Kutuluru,Paul Brouwer,Scott McMillan,Franz Franchetti +4 more
- 22 Sep 2020