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