Skip to main content
Log in

Software Tools for Automation of Parallel Programming on the Basis of Algebra of Algorithms

  • Software–Hardware Systems
  • Published:
Cybernetics and Systems Analysis Aims and scope

Abstract

The development of the algebra-algorithmic methodology and tools for automated design and generation of programs for graphics processing units is proposed. A particular feature of the proposed approach is the use of high-level specifications that are close to natural-language specifications and also the application of a method that ensures the syntactical correctness of algorithms and programs being designed. The approach was implemented in a toolkit destined for interactively designing algorithm schemes and generating programs. The use of this toolkit is illustrated by the development of a parallel program in the field of meteorology.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. F. I. Andon, A. E. Doroshenko, G. E. Tseytlin, and E. A. Yatsenko, Algebra-Algorithmic Models and Methods of Parallel Programming [in Russian], Akademperiodika, Kyiv (2007).

    Google Scholar 

  2. A. E. Doroshenko, K. A. Zhereb, and E. A. Yatsenko, “Formalized design of efficient multithread programs,” Problems in Programming, No. 1, 17–30 (2007).

  3. A. Doroshenko and O. Yatsenko, “Using ontologies and algebra of algorithms for formalized development of parallel programs,” Fundamenta Inform., 93, Nos. 1–3, 111–125 (2009).

    MATH  MathSciNet  Google Scholar 

  4. A. Doroshenko, K. Zhereb, and O. Yatsenko, “Formal facilities for designing efficient GPU programs,” in: Proc. Int. Workshop “Concurrency, Specification, and Programming (CS&P’2010)” (Bernau, 27–29 Sept., 2010), Humboldt University, Berlin (2010), pp. 142–153.

    Google Scholar 

  5. F. I. Andon, A. E. Doroshenko, and K. A. Zhereb, “Programming high-performance parallel computations: Formal models and graphics processing units,” Cybernetics and Systems Analysis, 47, No. 4, 659–668 (2011).

    Article  Google Scholar 

  6. O. Yatsenko, “On parameter-driven generation of algorithm schemes,” in: Proc. Intern. Workshop “Concurrency, Specification, and Programming (CS&P’2012)” (Berlin, 26–28 Sept., 2012), Humboldt University, Berlin (2012), pp. 428–438.

    Google Scholar 

  7. A. Doroshenko, K. Zhereb, and O. Yatsenko, “Developing and optimizing parallel programs with algebra-algorithmic and term rewriting tools,” in: Proc. Intern. Conf. “Information and Communication Technologies in Education, Research, and Industrial Applications (ICTERI’ 2013)” (Kherson, 19–22 June, 2013), Revised Selected Papers, 412, Springer, Berlin (2013), pp. 70–92.

    Google Scholar 

  8. E. A. Yatsenko, “Integrating support tools of algebra of algorithms and term writing for developing efficient parallel programs,” Problems in Programming, No. 2, 62–70 (2013).

  9. A. Doroshenko and R. Shevchenko, “A rewriting framework for rule-based programming dynamic applications,” Fundamenta Inform., 72, Nos. 1–3, 95–108 (2006).

    MATH  Google Scholar 

  10. N. Wilt, The CUDA Handbook: A Comprehensive Guide to GPU Programming, Addison-Wesley, Boston (2013).

    Google Scholar 

  11. D. Sannella and A. Tarlecki, Foundations of Algebraic Specification and Formal Software Development, Springer, Berlin (2012).

    Book  MATH  Google Scholar 

  12. P. Flener, “Achievements and prospects of program synthesis,” Lecture Notes in Artificial Intelligence, 2407, 310–346 (2002).

    MathSciNet  Google Scholar 

  13. S. Gulwani, “Dimensions in program synthesis,” in: Proc. 12th Intern. ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (Hagenberg, 26–28 July, 2010), ACM, New York (2010), pp. 13–24.

    Google Scholar 

  14. S. Ueng, M. Lathara, S. S. Baghsorkhi, and W. W. Hwu, “CUDA-lite: Reducing GPU programming complexity,” in: Proc. 21st Intern. Workshop on Languages and Compilers for Parallel Computing (LCPC’ 2008) (Edmonton, 31 July–2 Aug, 2008), Springer, Berlin (2008), pp. 1–15.

    Chapter  Google Scholar 

  15. W. Haid, L. Schor, K. Huang, I. Bacivarov, and L. Thiele, “Efficient execution of Kahn process networks on multi-processor systems using protothreads and windowed FIFOs,” in: Proc. Workshop on Embedded Systems for Real-Time Multimedia (ESTImedia’09) (Grenoble, 15–16 Oct., 2009), IEEE Computer Society Press, Los Alamitos (2009), pp. 35–44.

    Chapter  Google Scholar 

  16. T. D. Han and T. S. Abdelrahman, “hiCUDA: A High-level language for GPU programming,” IEEE Transactions on Parallel and Distributed Systems, 22, No. 1, 78–90 (2011).

    Article  Google Scholar 

  17. H. Jung, Y. Yi, and S. Ha, “Automatic CUDA code synthesis framework for multicore CPU and GPU architectures,” Lecture Notes in Comp. Sci., 7203, 579–588 (2012).

    Article  Google Scholar 

  18. C. Dubach, P. Cheng, R. Rabbah, D. F. Bacon, and S. J. Fink, “Compiling a high-level language for GPUs (via language support for architectures and compilers),” in: Proc. 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’ 12) (Beijing, 11–16 June, 2012), ACM, New York (2012), pp. 1–12.

    Chapter  Google Scholar 

  19. V. A. Prusov, A. E. Doroshenko, and R. I. Chernysh, “A method for numerical solution of a multidimensional diffusion-convection problem,” Cybernetics and Systems Analysis, 45, No. 1, 89–100 (2009).

    Article  MATH  MathSciNet  Google Scholar 

  20. Supercomputer of the Institute of Cybernetics of NASU, http://icybcluster.org.ua.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to F. I. Andon.

Additional information

Translated from Kibernetika i Sistemnyi Analiz, No. 1, pp. 162–170, January–February, 2015.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Andon, F.I., Doroshenko, A.E., Beketov, A.G. et al. Software Tools for Automation of Parallel Programming on the Basis of Algebra of Algorithms. Cybern Syst Anal 51, 142–149 (2015). https://doi.org/10.1007/s10559-015-9706-0

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10559-015-9706-0

Keywords

Navigation