Abstract
State-of-the-art programming languages for high-performance computer systems require a significant code revision for the porting of the same algorithm between different architectures. To solve this problem, we propose an architecture-independent Set@l programming language, which develops the main concepts of the COLAMO and SETL programming languages. Set@l represents the solution of a computational problem as sets with various attributes and relations between them. Furthermore, the Set@l language is based on the paradigm of aspect-oriented programming and describes an algorithm and features of its implementation as separate modules of a program. The Set@l syntax supports the classification of collections by various criteria, such as the type of parallelism, definiteness and optional user’s attributes. To deal with the indefinite collections emerging in the case of the algorithm modification, the Vopenka’s classification of collections by definiteness of their elements is introduced into the syntax of the Set@l programming language. In this paper, we consider the example of the Set@l application for the coding of lower-upper decomposition. The code shows that aspects can adapt the parallelizing of the basic algorithm to the implementation on computer systems with reconfigurable and multiprocessor architectures.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Mittal, S., Vetter, J.: A survey of CPU-GPU heterogeneous computing techniques. ACM Comput. Surv., 47(4) (2015). https://doi.org/10.1145/2788396. Article No. 69
Legalov, A.I.: Functional language for creation of architecture-independent parallel programs. Comput. Technol. 10(1), 71–89 (2005). (in Russian)
OpenCL: the open standard for parallel programming of heterogeneous systems. https://www.khronos.org/opencl/
Dordopulo, A.I., Levin, I.I., Kalyaev, I.A., Gudkov, V.A., Gulenok, A.A.: Programming of hybrid computer systems in the programming language COLAMO. Izv. SFedU. Eng. Sci. (11), 39–54 (2016). https://doi.org/10.18522/2311-3103-2016-11-3954. (in Russian)
Dewar, R.: SETL and the evolution of programming. In: Davis, M., Schonberg, E. (eds.) From Linear Operators to Computational Biology. Springer, London (2013). https://doi.org/10.1007/978-1-4471-4282-9_4
Dessi, M.: Spring 2.5 Aspect-Oriented Programming. Packt Publishing Ltd., Birmingham (2009)
Vopenka, P.: Introduction to Mathematics in Alternative Set Theory. Alfa, Bratislava (1989). (in Czech)
Haggarty, R.: Descrete Mathematics for Computing. Pearson Education, Harlow (2002)
Levin, I.I., Dordopulo, A.I., Pisarenko, I.V., Melnikov, A.K.: Description of Jacobi algorithm for solution of linear equation system in architecture-independent Set@l programming language. Izv. SFedU. Eng. Sci., (5), 34–48 (2018). https://doi.org/10.23683/2311-3103-2018-5-34-48. (in Russian)
Levin, I.I., Dordopulo, A.I., Pisarenko, I.V., Melnikov, A.K.: Approach to architecture-independent programming of computer systems in aspect-oriented Set@l language. Izv. SFedU. Eng. Sci., (3), 46–58 (2018). https://doi.org/10.23683/2311-3103-2018-3-46-58. (in Russian)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Levin, I.I., Dordopulo, A.I., Pisarenko, I.V., Melnikov, A.K. (2019). Aspect-Oriented Set@l Language for Architecture-Independent Programming of High-Performance Computer Systems. In: Voevodin, V., Sobolev, S. (eds) Supercomputing. RuSCDays 2019. Communications in Computer and Information Science, vol 1129. Springer, Cham. https://doi.org/10.1007/978-3-030-36592-9_42
Download citation
DOI: https://doi.org/10.1007/978-3-030-36592-9_42
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-36591-2
Online ISBN: 978-3-030-36592-9
eBook Packages: Computer ScienceComputer Science (R0)