Programming high-performance parallel computations: formal models and graphics processing units

  • P. I. Andon
  • A. Yu. Doroshenko
  • K. A. Zhereb


This article presents a line of development of formal design methods that is based on the concepts of algebraic programming and algebraic dynamic program models using rewriting rules for the automated design of efficient programs for graphics processing units. The developed formal methods are illustrated by examples that show high efficiency of transformations.


high-performance parallel computations formal programming method algebraic dynamic model of a program rewriting rule graphics processing unit 


  1. 1.
    S. Akhter and J. Roberts, Multi-Core Programming: Increasing Performance through Software Multi-Threading, Intel Press, Hillsboro (2006).Google Scholar
  2. 2.
    A.-R. Adl-Tabatabai, C. Kozyrakis, and B. Saa, “Unlocking concurrency,” Comput. Architect., Vol. 4, No. 10, 24–33 (December 2006/January 2007).Google Scholar
  3. 3.
    G. Chrysanthakopoulos and S. Singh, An Asynchronous Messaging Library for C#,
  4. 4.
    A. E. Doroshenko, Mathematical Models and Methods of Organization of High-Performance Parallel Computations: Algebraic Dynamic Approach [in Russian], Naukova Dumka, Kyiv (2000).Google Scholar
  5. 5.
    General-Purpose Computation Using Graphics Hardware,
  6. 6.
    NVidia CUDA Technology,
  7. 7.
    A. A. Letichevsky, J. V. Kapitonova, and S. V. Konozenko, “Computations in APS,” Theoret. Comput. Sci., 119, 145–171 (1993).MathSciNetMATHCrossRefGoogle Scholar
  8. 8.
    F. I. Andon, A. E. Doroshenko, G. E. Tseitlin, and E. A. Yatsenko, Algebro-Algorithmic Models and Methods of Parallel Programming [in Russian], Akademperiodika, Kyiv (2007).Google Scholar
  9. 9.
    A. Doroshenko and R. Shevchenko, “A rewriting framework for rule-based programming dynamic applications,” Fund. Inform., 72, Nos. 1–3, 95–108 (2006).MATHGoogle Scholar
  10. 10.
  11. 11.
    A. A. Letichevskii and V. V. Khomenko, “A rewriting machine and optimization of strategies of term rewriting,” Cybernetics and Systems Analysis, Vol. 38, No. 5, 3–17 (2002).MathSciNetCrossRefGoogle Scholar
  12. 12.
    A. E. Doroshenko, K. A. Zhereb, and E. A. Yatsenko, “Formalized design of efficient multithreaded programs,” Problemy Program., No. 1, 17–30 (2007).Google Scholar
  13. 13.
    A. E. Doroshenko, K. A. Zhereb, and E. A. Yatsenko, “On complexity estimation and computation coordination in multithreaded programs,” Problemy Program., No. 2, 41–55 (2007).Google Scholar
  14. 14.
    A. E. Doroshenko and K. A. Zhereb, “Algebraic dynamic models for program parallelization,” Problemy Program., No. 1, 39–55 (2010).Google Scholar
  15. 15.
    A. E. Doroshenko and K. A. Zhereb, “Development of highly parallel applications for graphics processing units with the use of rewriting rules,” Problemy Program., No. 3, 3–18 (2009).Google Scholar
  16. 16.
    S. Lee, S. Min, and R. Eigenmann, “OpenMP to GPGPU: A compiler framework for automatic translation and optimization,” in: Proc. 14th ACM SIGPLAN Symp. on Principles and Practice of Parallel Program. (PPoPP’9), Raleigh, NC (USA) (2009), pp. 101–110.Google Scholar
  17. 17.
    OpenMP specification,
  18. 18.
    M. Baskaran, U. Bondhugula, S. Krishnamoorthy, et al., “A compiler framework for optimization of affine loop nests for gpgpus,” in: Proc. 22nd Ann. Intern. Conf. on Supercom. (ICS’08) (Island of Kos, Greece, 2008), ACM, New York (2008), pp. 225–234.Google Scholar
  19. 19.
    W. Ma and G. Agrawal, “A compiler and runtime system for enabling data mining applications on gpus,” in: Proc. 14th ACM SIGPLAN Symp. on Principles and Practice of Parallel Program (PPoPP’09), (Raleigh, NC (USA), Febr. 14–18, 2009), ACM, New York (2009), pp. 287–288.Google Scholar
  20. 20.
    Y. Allusse, P. Horain, A. Agarwal, and C. Saipriyadarshan, “GpuCV: An open source GPU-accelerated framework for image processing and computer vision,” in: Proc. 16th ACM Intern.Conf. on Multimedia (MM’08) (Vancouver, British Columbia (Canada), Oct. 26–31, 2008), ACM, New York (2008), pp. 1089–1092.Google Scholar
  21. 21.
    A. E. Lefohn, S. Sengupta, J. Kniss, et al., “Glift: Generic, efficient, random-access GPU data structures,” ACM Trans. Graph., 25, No. 1, 60–99 (2006).CrossRefGoogle Scholar
  22. 22.
    T. D. Han and T. S. Abdelrahman, “hiCUDA: A high-level directive-based language for GPU programming,” in: Proc. 2nd Workshop on General Purpose Processing on Graphics Processing Units (GPGPU-2), 383, (Washington, D.C., March 08, 2009), ACM, New York (2009), pp. 52–61.Google Scholar
  23. 23.
    Q. Hou, K. Zhou, and B. Guo, “BSGP: Bulk-synchronous GPU programming,” in: ACM SIGGRAPH 2008 Papers (Los Angeles, Aug. 11–15, 2008), ACM, New York (2008), pp. 1–12.Google Scholar

Copyright information

© Springer Science+Business Media, Inc. 2011

Authors and Affiliations

  • P. I. Andon
    • 1
  • A. Yu. Doroshenko
    • 1
  • K. A. Zhereb
    • 1
  1. 1.Institute of Software SystemsNational Academy of Sciences of UkraineKyivUkraine

Personalised recommendations