The principles of building a machine-learning-based service for converting sequential code into parallel code

This article presents a novel approach for automating the parallelization of programming code using machine learning. The approach centers on a two-phase algorithm, incorporating a training phase and a transformation phase. In the training phase, a neural network is trained using data in the form of...

Full description

Bibliographic Details
Main Authors: Viktorov Ivan, Gibadullin Ruslan
Format: Article
Language:English
Published: EDP Sciences 2023-01-01
Series:E3S Web of Conferences
Online Access:https://www.e3s-conferences.org/articles/e3sconf/pdf/2023/68/e3sconf_itse2023_05012.pdf
_version_ 1797658627952082944
author Viktorov Ivan
Gibadullin Ruslan
author_facet Viktorov Ivan
Gibadullin Ruslan
author_sort Viktorov Ivan
collection DOAJ
description This article presents a novel approach for automating the parallelization of programming code using machine learning. The approach centers on a two-phase algorithm, incorporating a training phase and a transformation phase. In the training phase, a neural network is trained using data in the form of Abstract Syntax Trees, with Word2Vec being employed as the primary model for converting the syntax tree into numerical arrays. The choice of Word2Vec is attributed to its efficacy in encoding words with less reliance on context, compared to other natural language processing models such as GloVe and FastText. During the transformation phase, the trained model is applied to new sequential code, transforming it into parallel programming code. The article discusses in detail the mechanisms behind the algorithm, the rationale for the selection of Word2Vec, and the subsequent processing of code data. This methodology introduces an intelligent, automated system capable of understanding and optimizing the syntactic and semantic structures of code for parallel computing environments. The article is relevant for researchers and practitioners seeking to enhance code optimization techniques through the integration of machine learning models.
first_indexed 2024-03-11T18:02:57Z
format Article
id doaj.art-2df07bd67e27499a9ddfab9ea29fc733
institution Directory Open Access Journal
issn 2267-1242
language English
last_indexed 2024-03-11T18:02:57Z
publishDate 2023-01-01
publisher EDP Sciences
record_format Article
series E3S Web of Conferences
spelling doaj.art-2df07bd67e27499a9ddfab9ea29fc7332023-10-17T08:49:23ZengEDP SciencesE3S Web of Conferences2267-12422023-01-014310501210.1051/e3sconf/202343105012e3sconf_itse2023_05012The principles of building a machine-learning-based service for converting sequential code into parallel codeViktorov Ivan0Gibadullin Ruslan1Kazan National Research Technical University named after A. N. Tupolev – KAIKazan National Research Technical University named after A. N. Tupolev – KAIThis article presents a novel approach for automating the parallelization of programming code using machine learning. The approach centers on a two-phase algorithm, incorporating a training phase and a transformation phase. In the training phase, a neural network is trained using data in the form of Abstract Syntax Trees, with Word2Vec being employed as the primary model for converting the syntax tree into numerical arrays. The choice of Word2Vec is attributed to its efficacy in encoding words with less reliance on context, compared to other natural language processing models such as GloVe and FastText. During the transformation phase, the trained model is applied to new sequential code, transforming it into parallel programming code. The article discusses in detail the mechanisms behind the algorithm, the rationale for the selection of Word2Vec, and the subsequent processing of code data. This methodology introduces an intelligent, automated system capable of understanding and optimizing the syntactic and semantic structures of code for parallel computing environments. The article is relevant for researchers and practitioners seeking to enhance code optimization techniques through the integration of machine learning models.https://www.e3s-conferences.org/articles/e3sconf/pdf/2023/68/e3sconf_itse2023_05012.pdf
spellingShingle Viktorov Ivan
Gibadullin Ruslan
The principles of building a machine-learning-based service for converting sequential code into parallel code
E3S Web of Conferences
title The principles of building a machine-learning-based service for converting sequential code into parallel code
title_full The principles of building a machine-learning-based service for converting sequential code into parallel code
title_fullStr The principles of building a machine-learning-based service for converting sequential code into parallel code
title_full_unstemmed The principles of building a machine-learning-based service for converting sequential code into parallel code
title_short The principles of building a machine-learning-based service for converting sequential code into parallel code
title_sort principles of building a machine learning based service for converting sequential code into parallel code
url https://www.e3s-conferences.org/articles/e3sconf/pdf/2023/68/e3sconf_itse2023_05012.pdf
work_keys_str_mv AT viktorovivan theprinciplesofbuildingamachinelearningbasedserviceforconvertingsequentialcodeintoparallelcode
AT gibadullinruslan theprinciplesofbuildingamachinelearningbasedserviceforconvertingsequentialcodeintoparallelcode
AT viktorovivan principlesofbuildingamachinelearningbasedserviceforconvertingsequentialcodeintoparallelcode
AT gibadullinruslan principlesofbuildingamachinelearningbasedserviceforconvertingsequentialcodeintoparallelcode