Skip to main content

Precompiler for the ACELAN-COMPOS Package Solvers

  • Conference paper
  • First Online:
Parallel Computing Technologies (PaCT 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12942))

Included in the following conference series:

Abstract

This article proposes precompilers to accelerate the solvers of the application software package. The substantiations of this approach are given. The precompiler can be most valuable for programs that are intended to be ported to different computing architectures. There are given some examples of speeding up programs that implement iterative numerical methods using a precompiler in this paper. In particular, skew tiling and parallelization of loops with a linear recurrent dependence are implemented in the presented precompilers. The results of numerical experiments demonstrate the acceleration of programs by the precompiler by tens of percents and sometimes tens of times.

The article was supported by the Russian Federation Government grant No. 075-15-2019-1928.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Graham, S., et al.: Getting Up to Speed: The Future of Supercomputing, p. 289 (2005). https://doi.org/10.17226/11148

  2. Yurushkin, M.: Block Data Layout Automation in C Language Compiler. Program. Ingeneria 16–18 (2014). ISSN 2220-3397

    Google Scholar 

  3. Shteinberg, O.B.: The parallelizing of recurent loops with using of non-regular superpositions computations. Bull. High. Educ. Inst. North Caucasus Region Nat. Sci. 2, 16–18 (2009). ISSN 1026-2237

    Google Scholar 

  4. Shteinberg, O.B.: Parallelization of recurrent loops due to the preliminary computation of superpositions. Vest. Yuzhno-Ural’skogo Univ. Ser. Mat. Model. Program. 13(3), 59–67 (2020). https://doi.org/10.14529/mmp200305

  5. Structure Splitting for Elbrus processor compiler. Proceedings of the 14th Central & Eastern European Software Engineering Conference Russia (CEE-SECR 2019), St. Petersburg, Russia (2019). https://2019.secrus.org/program/submitted-presentations/structure-splitting-for-elbrus-processor-compiler/

  6. Aggressive Inlining for VLIW, vol. 27, pp. 189–198 (2015). https://doi.org/10.15514/ISPRAS-2015-27(6)-13

  7. Morylev, R., Shapovalov, V., Steinberg, B.Y.: Symbolic analisis in dialog-based parallelization of programs. Inform. Technol. 2, 33–36 (2013). ISSN 1684-6400

    Google Scholar 

  8. Polly. https://www.sites.google.com/site/parallelizationforllvm/why-not-polly. Accessed 1 July 2020

  9. Loop Optimizations Where Blocks are Required. https://software.intel.com/content/www/us/en/develop/articles/loop-optimizations-where-blocks-are-required.html. Accessed 1 July 2020

  10. Developer Guide and Reference. block_loop=noblock_loop. https://software.intel.com/en-us/cpp-compiler-developer-guide-and-reference-block-loop-noblockloop. Accessed 1 July 2020

  11. LLVM analyzers and converters. https://llvm.org/docs/Passes.html. Accessed 1 July 2020

  12. Makoshenko, D.V.: Analiticheskoye predskazaniye vremeni ispolneniya programm i osnovannyye na nem metody optimizatsii, p. 122. Novosibirsk (2011)

    Google Scholar 

  13. Whaley, R.C., Dongarra, J.J.: Automatically tuned linear algebra software. In: SC 1998: Proceedings of the 1998 ACM/IEEE Conference on Supercomputing, p. 38. IEEE (1998)

    Google Scholar 

  14. Steinberg, B.Y., Steinberg, O.B.: Program transformations are the fundamental basis for creating optimizing parallelizing compilers. Softw. Syst.: Theory Appl. 12(1), 21–113 (2021)

    Google Scholar 

  15. Liao, C., Quinlan, D.J., Vuduc, R., Panas, T.: Effective source-to-source outlining to support whole program empirical optimization. In: Gao, G.R., Pollock, L.L., Cavazos, J., Li, X. (eds.) LCPC 2009. LNCS, vol. 5898, pp. 308–322. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13374-9_21

    Chapter  Google Scholar 

  16. Gong, Z., et al.: An empirical study of the effect of source-level loop transformations on compiler stability. Proc. ACM Program. Lang. 2(OOPSLA), 1–29 (2018)

    Article  Google Scholar 

  17. Kudimova, A., et al.: Finite element homogenization models of bulk mixed piezocomposites with granular elastic inclusions in ACELAN package. Mater. Phys. Mech. 37(1), 25–33 (2018)

    Google Scholar 

  18. Kurbatova, N.V., Nadolin, D.K., Nasedkin, A.V., Oganesyan, P.A., Soloviev, A.N.: Finite element approach for composite magneto-piezoelectric materials modeling in ACELAN-COMPOS package. In: Altenbach, H., Carrera, E., Kulikov, G. (eds.) Analysis and Modelling of Advanced Structures and Smart Systems. ASM, vol. 81, pp. 69–88. Springer, Singapore (2018). https://doi.org/10.1007/978-981-10-6895-9_5

    Chapter  Google Scholar 

  19. Chen, F., Li, T.-Y., Lu, K.-Y.: Updated preconditioned Hermitian and skew- Hermitian splitting-type iteration methods for solving saddle-point problems. Comput. Appl. Math. 39, 1–4 (2020)

    Article  MathSciNet  Google Scholar 

  20. Gill, P.E., Saunders, M.A., Shinnerl, J.R.: On the stability of Cholesky factorization for symmetric quasidefinite systems. SIAM J. Matrix Anal. Appl. 17(1), 35–46 (1996)

    Article  MathSciNet  Google Scholar 

  21. Allen, R., Kennedy, K.: Optimizing Compilers for Mordern Architetures, p. 790. Morgan Kaufmann Publisher, Academic Press, USA (2002)

    Google Scholar 

  22. Evstigneev, V., Kasyanov, V.: Optimizing transformations in parallelizing compilers. Programirovanie 6, 12–26 (1996). ISSN 0132-3474

    Google Scholar 

  23. Muchnick, S., et al.: Advanced Compiler Design Implementation. Morgan Kaufmann (1997)

    Google Scholar 

  24. Aho, A., et al.: Compilers Principles, Techniques, And Tools, 2nd edn., p. 1184 (2006)

    Google Scholar 

  25. Optimizing parallelization system (2013). www.ops.rsu.ru. Accessed 1 July 2020

  26. Gervich, L.R., et al.: How OPS (optimizing parallelizing system) may be useful for clang. In: Proceedings of the 13th Central & Eastern European Software Engineering Conference in Russia (CEE-SECR 2017). Association for Computing Machinery, St. Petersburg (2017). ISBN 9781450363969. https://doi.org/10.1145/3166094.3166116

  27. Tilera company. http://wiki-org.ru/wiki/Tilera. Accessed 1 July 2020

  28. Epyphany processor. https://www.parallella.org/2016/10/05/epiphany-v-a-1024-core-64-bitrisc-processor/. Accessed 1 July 2020

  29. The processor of NTC Modul. http://www.cnews.ru/news/top/2019-03-06_svet_uvidel_moshchnejshij_rossijskij_nejroprotsessor. Accessed 1 July 2020

  30. Ammaev, S.G., Gervich, L.R., Steinberg, B.Y.: Combining parallelization with overlaps and optimization of cache memory usage. In: Malyshkin, V. (ed.) PaCT 2017. LNCS, vol. 10421, pp. 257–264. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-62932-2_24

    Chapter  Google Scholar 

  31. Cherdantsev, D.N.: Expressions linearization in optimization or parallelization compilers. Bull. High. Educ. Inst. North Caucasus Region Nat. Sci. 2, 13–16 (2009). ISSN 1026-2237

    Google Scholar 

  32. Olmos, K., Visser, E.: Strategies for source-to-source constant propagation. Electron. Notes Theor. Comput. Sci. 70(6), 156–175 (2002)

    Article  Google Scholar 

  33. Abu-Khalil, Z., Guda, S., Steinberg, B.: Porting parallel programs without losing efficiency. Open Syst. J. 39(4), 18–19 (2015). ISSN 1028-7493

    Google Scholar 

  34. Intel C++ Compiler. https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html. Accessed 1 July 2020

  35. Rose source to source compiler. http://rosecompiler.org/. Accessed 1 July 2020

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Oleg Steinberg .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Vasilenko, A., Veselovskiy, V., Metelitsa, E., Zhivykh, N., Steinberg, B., Steinberg, O. (2021). Precompiler for the ACELAN-COMPOS Package Solvers. In: Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2021. Lecture Notes in Computer Science(), vol 12942. Springer, Cham. https://doi.org/10.1007/978-3-030-86359-3_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-86359-3_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-86358-6

  • Online ISBN: 978-3-030-86359-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics