Abstract

OpenMP is a parallel computing framework that provides programmers with a set of directives and clauses to use when writing parallel applications. The most important task in adopting OpenMP is deciding the parallel pattern with associated clauses to employ in a sequential program that already exists. The shared-memory parallelization is complicated by parallel directives with different roles. Some tools have been developed to assist programmers in developing parallel programs using OpenMP. Many tools, however, have constraints on the size of program analysis, OpenMP scoping, and scalar and array reduction. Manually selecting clauses with the necessary data-sharing attributes is also prone to errors. In this study, we target the variable classification in directives to explore the loop-level parallelism. We set the variable classification problem as a type inference task based on a machine learning method, which understands the attributes of variables in certain contexts and relations. We propose an aligned corpus of tokens and types to predict variable attributes used inside the target loop. We support the reduction clause whenever it is applicable. Experimental results indicate that our method is very promising and favorably suited to dealing with real-world complex programs while showing high accuracy.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call