TECHNIQUE AND TOOLS FOR REWRITING THE RULES OF SOFTWARE ENGINEERING GRAPHICS ACCELERATORS
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.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.