Skip to main content
Log in

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

  • SOFTWARE–HARDWARE SYSTEMS
  • Published:
Cybernetics and Systems Analysis Aims and scope

Abstract

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.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. S. Akhter and J. Roberts, Multi-Core Programming: Increasing Performance through Software Multi-Threading, Intel Press, Hillsboro (2006).

    Google Scholar 

  2. A.-R. Adl-Tabatabai, C. Kozyrakis, and B. Saa, “Unlocking concurrency,” Comput. Architect., Vol. 4, No. 10, 24–33 (December 2006/January 2007).

  3. G. Chrysanthakopoulos and S. Singh, An Asynchronous Messaging Library for C#, http://research.microsoft.com/~tharris/scool/papers/sing.pdf.

  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. General-Purpose Computation Using Graphics Hardware, http://www.gpgpu.org.

  6. NVidia CUDA Technology, http://www.nvidia.com/cuda.

  7. A. A. Letichevsky, J. V. Kapitonova, and S. V. Konozenko, “Computations in APS,” Theoret. Comput. Sci., 119, 145–171 (1993).

    Article  MathSciNet  MATH  Google Scholar 

  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. A. Doroshenko and R. Shevchenko, “A rewriting framework for rule-based programming dynamic applications,” Fund. Inform., 72, Nos. 1–3, 95–108 (2006).

    MATH  Google Scholar 

  10. TermWare, http://www.gradsoft.com.ua/products/termware_rus.html.

  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).

    Article  MathSciNet  Google Scholar 

  12. A. E. Doroshenko, K. A. Zhereb, and E. A. Yatsenko, “Formalized design of efficient multithreaded programs,” Problemy Program., No. 1, 17–30 (2007).

  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).

  14. A. E. Doroshenko and K. A. Zhereb, “Algebraic dynamic models for program parallelization,” Problemy Program., No. 1, 39–55 (2010).

  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).

  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.

  17. OpenMP specification, http://openmp.org/wp/.

  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. 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. 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. 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).

    Article  Google Scholar 

  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.

  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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to P. I. Andon.

Additional information

Translated from Kibernetika i Sistemnyi Analiz, No. 4, pp. 176–187, July–August 2011.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Andon, P.I., Doroshenko, A.Y. & Zhereb, K.A. Programming high-performance parallel computations: formal models and graphics processing units. Cybern Syst Anal 47, 659–668 (2011). https://doi.org/10.1007/s10559-011-9346-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10559-011-9346-y

Keywords

Navigation