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...
Main Authors: | , |
---|---|
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 |