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.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
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).
A. E. Doroshenko, K. A. Zhereb, and E. A. Yatsenko, “Formalized design of efficient multithread programs,” Problems in Programming, No. 1, 17–30 (2007).
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).
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.
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).
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.
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.
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).
A. Doroshenko and R. Shevchenko, “A rewriting framework for rule-based programming dynamic applications,” Fundamenta Inform., 72, Nos. 1–3, 95–108 (2006).
N. Wilt, The CUDA Handbook: A Comprehensive Guide to GPU Programming, Addison-Wesley, Boston (2013).
D. Sannella and A. Tarlecki, Foundations of Algebraic Specification and Formal Software Development, Springer, Berlin (2012).
P. Flener, “Achievements and prospects of program synthesis,” Lecture Notes in Artificial Intelligence, 2407, 310–346 (2002).
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.
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.
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.
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).
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).
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.
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).
Supercomputer of the Institute of Cybernetics of NASU, http://icybcluster.org.ua.
Author information
Authors and Affiliations
Corresponding author
Additional information
Translated from Kibernetika i Sistemnyi Analiz, No. 1, pp. 162–170, January–February, 2015.
Rights and permissions
About this article
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
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10559-015-9706-0