Authors I. Levin, A.I. Dordopulo, I.V. Pisarenko, A.K. Melnikov
Month, Year 03, 2018 @en
Index UDC 004.432.4
Abstract The development of new architectures for heterogeneous computer systems is a relevant research direction in the field of modern supercomputer engineering. At the same time, software porting between different heterogeneous architectures requires a significant code revision due to the architectural limitation of existing programming languages. To solve the problem, we propose a new architecture-independent Set@l programming language, which develops some ideas of the COLAMO and SETL programming languages. In Set@l, an algorithm and its parallelizing description are separated modules of a program. This feature is provided by the application of the set-theoretic codeview and aspect-oriented programming paradigm. Architecture-independent source code in Set@l represents a solution for a computational problem as an information graph specified in terms of the set theory and relational calculus. Adaptation of a universal algorithm for a certain architecture and configuration is carried out by aspects, which divide and classify the key collections of the problem. In contrast to SETL, Set@l offers different classification criteria for sets, particularly according to the type of parallelism. If it is impossible to define the type unambiguously, the collection is denoted as implicit. In this paper, we consider the fundamentals of architecture-independent programming in Set@l and the example of its application for the Gaussian elimination coding.

Download PDF

Keywords Heterogeneous computer systems; architecture-independent programming; aspect-oriented approach; Set@l programming language.
References 1. Bourzac K. Stretching supercomputers to the limit, Nature, 2017, Vol. 551, pp. 554-556.
2. Mittal S., Vetter J. A survey of CPU-GPU heterogeneous computing techniques, ACM Computing Surveys, 2015, Vol. 47.
3. Loshchukhina T.E., Dorofeev V.A. Reshenie prikladnykh zadach s ispol'zovaniem geterogennykh vychislitel'nykh sistem [Solving the applied tasks using the heterogeneous computing systems], Izvestiya Tomskogo politekhnicheskogo universiteta [Bulletin of the Tomsk Polytechnic University], 2013, Vol. 323, No 5, pp. 165-170.
4. Ebrahimi A., Zandsalimy M. Evaluation of FPGA Hardware as a New Approach for Accelerating the Numerical Solution of CFD Problems, IEEE Access, 2017, Vol. 5, pp. 9717-9727.
5. Dordopulo A.I., Levin I.I. Resursonezavisimoe programmirovanie gibridnykh rekonfiguriruemykh vychislitel'nykh system [Resource-independent programming of hybrid reconfigurable computer systems], Superkomp'yuternye dni v Rossii: Trudy mezhdunarodnoy konferencii [Proceedings of Russian Supercomputing Days], 25–26 September 2017, Moscow. Moscow: Izdatel'stvo MGU, 2017, pp. 714-723.
6. Andreev S.S., Dbar S.A., Davydov A.A., Latsis A.O., Savel’yev G.P., Orlov V.L., Plotkina E.A., Prostov I.V. Gibridnyy superkompyuter K-100: chto dal’she? [Hybrid supercomputer K-100: what next?], Informacionnye tehnologii i vychislitel'nye sistemy [Information technologies and computing systems], 2012, No. 2, pp. 29-35.
7. Daga M., Tschirhart Z.S., Freitag C. Exploring Parallel Programming Models for Heterogeneous Computing Systems, 2015 IEEE International Symposium on Workload Characterization, Atlanta, GA, 2015, pp. 98-107.
8. Legalov A.I. Funkcional'nyy yaazyk dlya sozdaniya arkhitekturno-nezavisimykh parallel'nykh program [Functional language for creation of architecture-independent parallel programs], Vychislitel'nye tekhnologii [Computation Technologies], 2005, Vol. 10, No 1, pp. 71-89.
9. Open CL: The open standard for parallel programming of heterogeneous systems, Khronos Group Website. Available at: (accessed 5 July 2018).
10. Kalyaev A.V, Levin I.I. Modul'no-narashhivaemye mnogoprocessornye sistemy so strukturno-procedurnoj organizaciej vychislenij [Modular-scalable multiprocessor system with structural-procedural organization of computing]. Moscow: OOO «Izdatel'stvo Janus-K», 2003, 380 p.
11. Dordopulo A.I., Levin I.I., Kalyaev I.A., Gudkov V.A., Gulenok A.A. Programmirovanie vychislitel'nykh sistem gibridnogo tipa na yazyke programmirovaniya COLAMO [Programming of hybrid computer systems in the programming language COLAMO], Izvestiya YUFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2016, No. 11 (184), pp. 39-54.
12. Kalyaev I.A., Dordopulo A.I., Levin I.I., Gudkov V.A., Gulenok A.A. Tekhnologiya programmirovaniya vychislitel'nykh sistem gibridnogo tipa [Programming technology for hybrid computer systems], Vychislitel'nye tekhnologii [Computation Technologies], 2016,
Vol. 21, No. 3, pp. 33-44.
13. Dewar R. SETL and the evolution of programming, From Linear Operators to Computational Biology: Essays in Memory of Jacob T. Schwartz. London: Springer-Verlag, 2013, 208 p.
14. Kurdi H.A. Review on aspect oriented programming, International Journal of Advanced Computer Science and Applications, 2013, Vol. 4. No. 9, pp. 22-27.
15. Rebelo H., Leavens G.T. Aspect-Oriented Programming Reloaded, SBLP 2017 Proceedings of the 21st Brazilian Symposium on Programming Languages, 2017, Art. No. 10.
16. The AspectJ Development Environment Guide. Available at: doc/released/devguide/index.html (accessed 5 July 2018).
17. Aspect oriented programming with Spring. Core technologies, Spring Framework Reference Documentation. Available at: html/aop.html (accessed 5 July 2018).
18. Haggarty R. Diskretnaya matematika dlya programmistov [Discrete mathematics for computing]. Мoscow: Tehnosfera, 2003, 320 p.
19. Vopenka P. Al'ternativnaya teoriya mnozhestv: Novyн vzglyad na beskonechnost' [Alternative set theory: a New look at infinity]. Novosibirsk: Izdatel'stvo Instituta matematiki, 2004, 612 p.
20. Bakhvalov N.S., Zhidkov N.P., Kobel'kov G.M. Chislennye metody [Numerical methods]. Moscow: BINOM. Laboratoriya znaniy, 2017, 636 p.

Comments are closed.