Methodology for Developing a High-speed Compiler Based on the Modified Loop Fusion Optimization Method: Models and Tools for its Implementation

Capa

Citar

Texto integral

Acesso aberto Acesso aberto
Acesso é fechado Acesso está concedido
Acesso é fechado Somente assinantes

Resumo

In connection with the development of information technologies, the complexity of programming languages and, accordingly, applications developed using them, program optimization is of particular importance. In the process of optimization, the program is improved by reducing the code size, complexity, using less memory and provides a reduction in execution time without changing the internal function. In practice, optimization is implemented using compilers and their functions. Taking into account the above, the aim of the article was to develop a methodology for studying various aspects of building a high-speed compiler with a modified loop fusion optimization method, as well as models and tools for its implementation. In the course of the research, the features of its design using the modified loop fusion optimization method are outlined, descriptions of the flowchart of the modified loop fusion algorithm and the logical flowchart of the compiler development stages are given. As a result of the work, a compiler based on the modified loop fusion optimization method is proposed, using loop reversal to ensure their “legitimate” and profitable merging, which reduces the execution time of the program while maintaining its correctness. The efficiency of the proposed compiler is shown by comparing the compilation times of the test program obtained using it and using the well-known compiler x86-64 gcc 4.7.1.

Texto integral

Acesso é fechado

Sobre autores

Boris Logunov

Scientific Research Center for Aircraft Strength, Federal Autonomous Institution “Central Aerohydrodynamic Institute named after Professor N.E. Zhukovsky” (FAI “TSAGI”)

Email: logunov39@mail.ru

Candidate of Engineering; Head of the Department of Measuring and Computing Equipment, Department of strength standards, loads and Aeroelasticty of the Scientific Research Center for Aircraft Strength of the Federal Autonomous Institution “Central Aerohydrodynamic Institute named after Professor N.Е. Zhukovsky” (FAI “TSAGI”)

Rússia, Zhukovsky, Moscow region

Ilya Kharin

Scientific Research Center for Aircraft Strength, Federal Autonomous Institution “Central Aerohydrodynamic Institute named after Professor N.E. Zhukovsky” (FAI “TSAGI”)

Autor responsável pela correspondência
Email: xarin.ilya@bk.ru

engineer of the Department of Measuring and Computing Equipment, Department of strength standards, loads and Aeroelasticty of the Scientific Research Center for Aircraft Strength of the Federal Autonomous Institution “Central Aerohydrodynamic Institute named after Professor N.Е. Zhukovsky” (FAI “TSAGI”)

Rússia, Zhukovsky, Moscow region

Bibliografia

  1. Agez M. Correcting remaining truncations in hybrid life cycle assessment database compilation. Journal of Industrial Ecology. 2022. Vol. 26. No. 1. Pp. 121–133.
  2. Abate C. An extended account of trace-relating compiler correctness and secure compilation. ACM Transactions on Programming Languages and Systems. 2021. Vol. 43. No. 4. Pp. 14–19.
  3. Muller E. Push versus pull-based loop fusion in query engines. Journal of Functional Programming. 2018. Vol. 28. No. 1. Pp. 56–62.
  4. Sesin I.Yu. Comparative analysis of software optimization methods for combating branch predication on GPUs. Russian Technological Journal. 2021. No. 6. Pp. 7–15. (In Rus.)
  5. Li Hao. Compiling cross-language network programs into hybrid data plane. IEEE/ACM Transactions on Networking: A Joint Publication of the IEEE Communications Society. 2021. Vol. 30. No. 3. Pp. 1088–1103.
  6. Zhufeng H. Optimization based on LLVM global instruction selection. Journal of Physics. Conference Series. 2021. Vol. 1856. No. 1. Pp. 19–23.
  7. Ziraksima M. Using an evolutionary approach based on shortest common supersequence problem for loop fusion. Soft Computing: A Fusion of Foundations, Methodologies and Applications. 2020. Nо. 10. Рp. 7231–7252.
  8. Vladimirov K.I. Structure splitting optimization for the vector optimizer in the Intel graphics compiler. Modern Information Technologies and IT Education. 2022. No. 2. Pp. 249–255. (In Rus.)
  9. Josipovic L. Synthesizing general-purpose code into dynamically scheduled circuits. IEEE Circuits and Systems Magazine. 2021. Vol. 21. No. 2. Pp. 97–118.
  10. Kiesel R. Efficient knowledge compilation beyond weighted model counting. Theory and Practice of Logic Programming. 2022. Vol. 22. No. 4. Pp. 505–522.
  11. Ahmed H. Toward a novel engine for compiler optimization space exploration of big data workloads. Software, Practice & Experience. 2022. Vol. 52. No. 5. Pp. 1262–1293.
  12. Shymon I.M. Compilation, analysis and application of a comprehensive Bangla Corpus KUMono. IEEE Access: Practical Innovations, Open Solutions. 2022. Vol. 10. Pp. 79999–80014.
  13. Novikov K.D. Software optimization. Bulletin of the Russian New University. Series: Complex Systems: Models, Analysis and Control. 2021. No. 1. Pp. 159–165. (In Rus.)
  14. Murali P. Formal constraint-based compilation for noisy intermediate-scale quantum systems. Microprocessors and Microsystems. 2019. Vol. 66. No. 9. Pp. 102–112.
  15. Patrignani M. Robustly safe compilation, an efficient form of secure compilation. ACM Transactions on Programming Languages and Systems. 2021. Vol. 43. No. 1. Pp. 12–19.
  16. Gonopolsky M.G. Automatic generation of an interpreter for a multilingual virtual machine. Modern Information Technologies and IT Education. 2021. Vol. 17. No. 4. Pp. 988–997. (In Rus.)
  17. Baev R.V. Prevention of vulnerabilities resulting from optimization of code with undefined behavior. Proceedings of the Institute for System Programming of the Russian Academy of Sciences. 2021. Vol. 33. No. 4. Pp. 195–210. (In Rus.)
  18. Kormen T.H., Leizerson Ch.E., Rivest R.L., Stein C. Section 24.3: Dijkstra’s Algorithm. In: introduction to algorithms. 2nd ed. MIT Press and McGraw-Hill, 2001. Pp. 595–601. ISBN: 0-262-03293-7.

Arquivos suplementares

Arquivos suplementares
Ação
1. JATS XML
2. Fig. 1. Hash table block diagram

Baixar (95KB)
3. Fig. 2. Principle of code generation

Baixar (51KB)
4. Fig. 3. Block diagram of the algorithm based on the modified loop fusion optimization method

Baixar (191KB)
5. Fig. 4. A logical flowchart illustrating the stages of the compiler with the modified loop fusion optimization method

Baixar (259KB)
6. Fig. 5. Compiling the test program using the x86-64 gcc 4.7.1 compiler

Baixar (11KB)
7. Fig. 6. Compilation of the test program using the proposed compiler with the modified loop fusion optimization method

Baixar (70KB)
8. Fig. 7. Comparison diagram of compilation times

Baixar (56KB)


Este site utiliza cookies

Ao continuar usando nosso site, você concorda com o procedimento de cookies que mantêm o site funcionando normalmente.

Informação sobre cookies