Future Gener. Comput. Syst. | 2021

Towards parallelism detection of sequential programs with graph neural network

 
 
 
 

Abstract


Abstract Development of the parallel processing technology is necessary to solve problems created by programs with complex structures that are computation- and data-intensive. In the parallelization process, the detection of parallelism is an important task. Automatic parallelism analysis tools help programmers in finding parallelism. However, these tools have limitations in analyzing complex programs. Herein, we propose a data-driven method that can be applied to parallelism detection. The proposed framework combines contextual flow graphs and a deep graph convolution neural network, which leverages the latest and most popular techniques for code embedding and graph classification. Further, we present a novel generator to solve the problem of existing dataset inadequacies. We use this generator to build a generic dataset for parallelism detection. The experimental results of our framework using the generated dataset demonstrate that using a graph representation of the code can capture domain-specific information, and our framework can accurately detect potential parallelism in sequential programs. This framework will enable the exploration of new tools to address the parallelism detection problem.

Volume 125
Pages 515-525
DOI 10.1016/j.future.2021.07.001
Language English
Journal Future Gener. Comput. Syst.

Full Text