TECHNIQUE AND TOOLS FOR REWRITING THE RULES OF SOFTWARE ENGINEERING GRAPHICS ACCELERATORS

Authors

  • Анатолій Юхимович Дорошенко Institute of Program Systems of the NAS of Ukraine
  • Костянтин Анатолійович Жереб Institute of Program Systems of the NAS of Ukraine

Keywords:

Graphical processing units, rewriting rules technique, automated program transformations, formal design methods, development tools, Microsoft .NET framework.

Abstract

The graphic accelerating allow to attain a high yield due to plenty of calculable kernels, however their programming is a difficult and labour intensive process. In-process offered approach near creation of the effective programs for the graphic accelerating with the use of technique of rewritting rules. Offered approach and the worked out tool allow to attain the high yield of the parallel programs, and also promote the productivity of developers.

Author Biographies

Анатолій Юхимович Дорошенко, Institute of Program Systems of the NAS of Ukraine

PhD., Professor, Head of the Department of the Computer Calculations Theory, Institute of Program Systems of the NAS of Ukraine. Scientific interests - formal methods of software development, programming techniques, parallel computing and intellectualization of computer applications

Костянтин Анатолійович Жереб, Institute of Program Systems of the NAS of Ukraine

Junior Researcher of the Department of the Computer Calculations Theory, Institute of Program Systems of the NAS of Ukraine. Research interests - automation software development, parallel computing, the technique of rewriting rules and the software development process

References

Ryoo S., Rodrigues C.I., Baghsorkhi S.S., Stone S.S., Kirk D.B., and Hwu W.W. Optimization principles and application performance evaluation of a multithreaded GPU using CUDA. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '08, Salt Lake City, UT, USA, February 20–23, 2008). – P. 73–82.

General-Purpose Computation Using Graphics Hardware. http://www.gpgpu.org .

Fatahalian K., Sugerman J., and Hanrahan P. Understanding the efficiency of GPU algorithms for matrix-matrix multiplication. In ACM SIGGRAPH/EUROGRAPHICS Conf. on Graphics Hardware, 2004. – P. 133–137.

NVidia CUDA technology. http://www.nvidia.com/cuda.

AMD (ATI) Stream technology.http://www.amd.com/stream .

N. Anderson, J. Mache, W. Watson. Learning CUDA: lab exercises and experiences. In Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion (SPLASH '10). – 2010. – P. 183– 188.

Doroshenko A., Shevchenko R. A Rewriting Framework for Rule-Based Programming Dynamic Applications, Fundamenta Informaticae. – 2006, Vol. 72, N 1–3. –P. 95–108.

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

CUDA .NET http://www.gassltd.co.il/en/products/cuda.net/ .

Lee S., Min S., and Eigenmann R. OpenMP to GPGPU: a compiler framework for automatic translation and optimization. In Proceedings of the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '09). Raleigh, NC, USA, February 14–18, 2009. – P. 101–110.

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

Baskaran M., Bondhugula U., Krishnamoorthy S., Ramanujam J., Rountev A., and Sadayappan P. A compiler framework for optimization of affine loop nests for gpgpus. In Proceedings of the 22nd Annual international Conf. on Supercomuting (ICS '08). Island of Kos, Greece, June 07–12, 2008). – P. 225–234.

Ma W. and Agrawal G. A compiler and runtime system for enabling data mining applications on gpus. In Proceedings of the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP '09). Raleigh, NC, USA, February 14 – 18, 2009. – P. 287–288.

Allusse Y., Horain P., Agarwal A., and Saipriyadarshan C. GpuCV: an open source GPUaccelerated framework for image processing and computer vision. In Proceeding of the 16th ACM International Conf. on Multimedia (MM '08).Vancouver, British Columbia, Canada, October 26–31, 2008. – P. 1089–1092.

Lefohn A. E., Sengupta S., Kniss J., Strzodka R., and Owens J. D. Glift: Generic, efficient, randomaccess GPU data structures. ACM Trans. Graph. 25, 1 Jan. 2006. – P. 60–99.

Han T. D. and Abdelrahman T. S. hiCUDA: a high-level directive-based language for GPU programming. In Proceedings of 2nd Workshop on General Purpose Processing on Graphics Processing Units (GPGPU-2). Washington, D.C., March 08 – 08, 2009)., Vol. 383. – P. 52–61.

Hou, Q., Zhou, K., and Guo, B. BSGP: bulksynchronous GPU programming. In ACM SIGGRAPH 2008 Papers. Los Angeles, California, August 11 – 15, 2008. – P. 1–12.

Андон Ф.И., Дорошенко А.Е., Цейтлин Г.Е., Яценко Е.А. Алгеброалгоритмические модели и методы параллельного программирования. – К.: Академпериодика, 2007. – 631 с.

Жереб К.А. Программный инструментарий, основанный на правилах, для автоматизации разработки приложений на платформе Microsoft .NET// Управляющие системы и машины. – 2009. – № 4. – С. 51–59.

Дорошенко А.Е., Жереб К.А., Яценко Е.А. Об оценке сложности и координации вычислений в многопоточных программах // Проблемы программирования. – 2007. – № 2. – С. 41–55.

Дорошенко А.Е., Жереб К.А. Алгебродинамические модели для распараллеливания программ // Проблемы программирования. – 2010. – № 1. – С. 39–55.

Дорошенко А.Е., Жереб К.А. Разработка высокопараллельных приложений для графических ускорителей с использованием переписывающих правил // Проблемы программирования. – 2009. – № 3. – С. 3–18.

Issue

Section

SOFTWARE DEVELOPMENT TECHNOLOGIES