Programming high-performance parallel computations: formal models and graphics processing units
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.
Keywordshigh-performance parallel computations formal programming method algebraic dynamic model of a program rewriting rule graphics processing unit
- 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).Google Scholar
- 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.
- 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
- 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.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.A. E. Doroshenko and K. A. Zhereb, “Algebraic dynamic models for program parallelization,” Problemy Program., No. 1, 39–55 (2010).Google Scholar
- 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.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.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
- 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.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