Векторизация метода распространяющегося пучка по технологии CUDA
Алексеев В.А., Головашкин Д.Л.
Аннотация:
Разработан векторный алгоритм метода решения уравнения Гельмгольца (BPM подход), основанный на представлении вычислений в модели SIMD (Single Instruction, Multiple Data). Реализация данного алгоритма на графическом процессоре NVIDIA GeForce GTS 250 по технологии CUDA продемонстрировала ускорение вычислений в 22,5 раза по сравнению с расчетами на центральном процессоре Intel Core Duo E7500.
Abstract:
We propose a vector algorithm for solving the helmholtz equation through BPM (beam propagation method) by representing the computation in the SIMD (single instruction, multiple data) model. The implementation of the given algorithm on graphic processor NVIDIA GeForce GTS 250 on technology CUDA has shown acceleration of calculations in 22.5 times in comparison with the computation on the central processor Intel Core Duo E7500.
Ключевые слова
:
уравнение Гельмгольца, BPM метод, векторный алгоритм, графический процессор, покомпонентное произведение, CUDA.
Key words:
helmholtz equation, beam propagation method, vector algorithm, graphics processor, componentwise product, cuda.
Литература:
- Feit, M.D. Light Propagation in Graded-Index Optical Fibers / M.D. Feit, J.A. Fleck // Applied Optics. – 1978. – Vol. 17, N. 24. – P. 3990-3998.
- Gerdes, J. Beam-propagation algorithm based on the method of lines / J. Gerdes, R. Pregla // Journal of the Optical Society of America B. – 1991. – Vol. 8, N. 2. – P. 389-394.
- Huang, W. The Finite-Difference Vector Beam Propagation Method: Analysis and Assessment / W. Huang, C. Xu, S.-T. Chu, S.K. Chaudhuri // Journal of Lightwave Technology. – 1992. – Vol. 10, N. 3. – P. 295-305.
- Lu, Y.Y. Some Techniques for Computing Wave Propagation in Optical Waveguides / Y.Y. Lu // Communications in Computational Physics. – 2006. – Vol. 1, N. 6. – P. 1056-1075.
- Гаврилов, А.В. Модифицированный метод распространяющегося пучка и его применение к расчету распространения в волноводах с изменяющимся профилем показателя преломления / А.В. Гаврилов // Компьютерная оптика. – 2008. – Т. 32, № 1. – С. 15-22.
- OlympIOs: design, simulation and mask layout platform //URL: http://www.c2v.nl/products/software/olympios-software.shtml.
- RSoft: Photonic Component Design Suite // URL: http://www.rsoftdesign.com/uicontrols/products/brochures/RSoftProductCatalog.pdf.
- Голуб, Дж. Матричные вычисления / Дж. Голуб, Ч. Ван Лоун – М.: Мир, 1999. – 548 с.
- Ортега, Дж. Введение в параллельные и векторные методы решения линейных систем / Дж. Ортега – М.: Мир, 1991. – 364 с.
- CUDA, Published by NVIDIA Corporation – 2701 San Tomas Expressway Santa Clara, CA 95050,
http://www.nvidia.com/object/cuda_home_new.html
- Евстигнеев, Н.М. Интегрирование уравнения Пуассона с использованием графического процессора технологии // Вычислительные методы и программирование. – 2009. – Т. 10, № 2. – С. 82-87.
- Price, D.K. GPU-based accelerated 2D and 3D FDTD solvers / D.K. Price, J.R. Humphrey, and E.J. Kelmelis – Physics and Simulation of Optoelectronic Devices XV, vol. 6468 of Proceedings of SPIE, San Jose, Calif, USA, January 2007.
- Adinetz, A. Implementing Classical Ray Tracing on GPU – a Case Study of GPU Programming / A. Adinetz, S. Berezin – Proceedings of Graphicon, 2006.
- Самарский, А.А. Введение в численные методы / А.А. Самарский – М.: Наука, 1987.– 286 с.
- Косарев, В.И. 12 лекций по вычислительной математике. Вводный курс / В.И. Косарев – М.: Физматлит, 2000. – 224 с.
References:
- Feit, M.D. Light Propagation in Graded-Index Optical Fibers / M.D. Feit, J.A. Fleck // Applied Optics. – 1978. – Vol. 17, N. 24. – P. 3990-3998.
- Gerdes, J. Beam-propagation algorithm based on the method of lines / J. Gerdes, R. Pregla // Journal of the Optical Society of America B. – 1991. – Vol. 8, N. 2. – P. 389-394.
- Huang, W. The Finite-Difference Vector Beam Propagation Method: Analysis and Assessment / W. Huang, C. Xu, S.-T. Chu, S.K. Chaudhuri // Journal of Lightwave Technology. – 1992. – Vol. 10, N. 3. – P. 295-305.
- Lu, Y.Y. Some Techniques for Computing Wave Propagation in Optical Waveguides / Y.Y. Lu // Communications in Computational Physics. – 2006. – Vol. 1, N. 6. – P. 1056-1075.
- Gavrilov, A.V. The modified method of beam propagation and its application to distribution calculation in wave guides with a changing profile of an indicator of refraction / A.V. Gavrilov // Computer Optics. – 2008. – V. 32, N 1. – P. 15-22.
- OlympIOs: design, simulation and mask layout platform //URL: http://www.c2v.nl/products/software/olympios-software.shtml.
- RSoft: Photonic Component Design Suite // URL: http://www.rsoftdesign.com/uicontrols/products/brochures/RSoftProductCatalog.pdf.
- Golub, G. Matrix Computations / G. Golub, C. Van Loan – Мoscow: “Mir” publisher, 1999. – 548 p. – (in Russian).
- Ortega J. Introduction to parallel and vector solution of linear systems / J. Ortega – Moscow: “Mir” publisher, 1991. – 364 p. – (in Russian).
- CUDA, Published by NVIDIA Corporation – 2701 San Tomas Expressway Santa Clara, CA 95050,
http://www.nvidia.com/object/cuda_home_new.html
- Evstigneev, N.M. Integration of the equation of Puassona with use of the graphic processor of technology // Computing methods and programming. – 2009. – Т. 10, N 2. – P. 82-87. – (in Russian).
- Price, D.K. GPU-based accelerated 2D and 3D FDTD solvers / D.K. Price, J.R. Humphrey, and E.J. Kelmelis //– Physics and Simulation of Optoelectronic Devices XV, vol. 6468 of Proceedings of SPIE, San Jose, Calif, USA, January 2007.
- Adinetz, A. Implementing Classical Ray Tracing on GPU – a Case Study of GPU Programming / A. Adinetz, S. Berezin – Proceedings of Graphicon, 2006.
- Samarskii, A.A. Introduction in numerical methods /А.А. Samarskii – Мoscow: “Nayka” publisher, 1987. – 286 p. – (in Russian).
- Kosarev, V.I. 12 lectures on calculus mathematics. An introduction course / V.I. Kosarev – Moscow: “Fizmatlit” publisher, 2000. – 224 p. – (in Russian).
© 2009, ИСОИ РАН
Россия, 443001, Самара, ул. Молодогвардейская, 151; электронная почта: ko@smr.ru ; тел: +7 (846 2) 332-56-22, факс: +7 (846 2) 332-56-20