Обсуждаются вопросы о повышении эффективности численного моделирования распространения солнечного излучения в атмосфере Земли методом Монте-Карло путем перехода от последовательных вычислений к параллельным. Представлен новый параллельный алгоритм метода, ориентированный на вычислительную систему с графическим процессором, поддерживающим технологию NVIDIA CUDA. Эффективность распараллеливания проанализирована на примере расчета потоков нисходящей и восходящей солнечной радиации как в вертикально однородной, так и неоднородной моделях атмосферы. Представлены результаты апробации алгоритма в различных атмосферных условиях, в том числе в условиях однослойной и многослойной сплошной облачности, с учетом и без учета селективного молекулярного поглощения. Анализируются результаты тестирования кода на видеокартах с разной вычислительной мощностью. Показано, что перенос вычислений с традиционных ПК на архитектуру графических процессоров дает более чем стократный прирост производительности и в полной мере раскрывает возможности используемой технологии.
метод Монте-Карло, потоки солнечной радиации, параллельные вычисления, GPU, технология CUDA, ускорение вычислений
1. Dubovik O., Lapyonok T., Litvinov P., Herman M., Fuertes D., Ducos F., Lopatin A., Chaikovsky A., Torres B., Derimian Y., Huang X., Aspetsberger M., Federspiel C. GRASP: A versatile algorithm for characterizing the atmosphere // SPIE: Newsroom. 2014. DOI: 10.1117/2.1201408.005558.
2. Ленобль Ж. Перенос радиации в рассеивающих и поглощающих атмосферах. Л.: Гидрометеоиздат, 1990. 264 с.
3. Марчук Г.И., Михайлов Г.А., Назаралиев М.А., Дарбинян Р.А., Каргин Б.А., Елепов Б.С. Метод Монте-Карло в атмосферной оптике. Новосибирск: Наука, 1976. 280 с.
4. Marshak A., Davis A.B. 3D radiative transfer in cloudy atmospheres. Berlin: Springer, 2005. 686 p.
5. Moore G. Litography and the future of Moore’s law // Proc. SPIE. 1995. V. 2437. P. 2–17.
6. Kirkby D.R., Delpy D.T. Parallel operation of Monte Carlo simulations on a diverse network of computers // Phys. Med. Biol. 1997. V. 42, N 6. P. 1203–1208.
7. Colasanti A., Guida G., Kisslinger A., Liuzzi R., Quarto M., Riccio P., Roberti G., Villani F. Multiple processor version of a Monte Carlo code for photon transport in turbid media // Comput. Phys. Commun. 2000. V. 132, N 1–2. P. 84–93.
8. Кожевникова А.В., Тарасенков М.В., Белов В.В. Параллельные вычисления при решении задач восстановления коэффициента отражения земной поверхности по спутниковым данным // Оптика атмосф. и океана. 2013. Т. 26, № 2. С. 172–174; Kоzhevnikovа А.V., Таrаsеnkov М.V., Bеlоv V.V. Parallel computations for solving problem of the reconstruction of the reflection coefficient of the Earth’s surface by satellite data // Atmos. Ocean. Opt. 2013. V. 26, N 4. P. 326–328.
9. Глинский Б.М., Родионов А.С., Марченко М.А., Подкорытов Д.И., Винс Д.В. Агентно-ориентированный подход к имитационному моделированию супер ЭВМ экзафлопсной производительности в приложении к распределенному статистическому моделированию // Вестн. ЮУрГУ. 2012. № 18(277), вып. 12. С. 94–99.
10. Волков К.Н., Дерюгин Ю.Н., Емельянов В.Н., Карпенко А.Г., Козелков А.С., Тетерина И.В. Методы ускорения газодинамических расчетов на неструктурированных сетках. М.: ФИЗМАТЛИТ, 2014. 536 с.
11. Боресков А.В., Харламов А.А., Марковский Н.Д., Микушин Д.Н., Мортиков Е.В., Мыльцев А.А., Сахарных Н.А., Фролов В.А. Параллельные вычисления на GPU: архитектура и программная модель CUDA. М.: Изд-во Моск. ун-та, 2012. 336 с.
12. Zhu C., Liu Q. Review of Monte Carlo modeling of light transport in tissues // J. Biomed. Opt. 2013. V. 18, N 5. P. 050902-1–050902-12.
13. Фикс И.И. Использование графических процессоров для решения задачи распространения света в диффузионной флуоресцентной томографии методом Монте-Карло // Вестн. Нижегородск. ун-та им. Н.И. Лобачевского. 2011. № 4(1). С. 190–195.
14. Кириллин М.Ю., Фикс И.И., Катичев А.Р., Горшков А.В., Гергель В.П. Высокопроизводительные вычисления для задач оптической биомедицинской диагностики // Суперкомпьютерные технологии в науке, образовании и промышленности / под ред. В.А. Садовничего, Г.И. Савина, Вл.В. Воеводина. Вып. 3. М.: Изд-во Моск. ун-та, 2012. 232 с.
15. Петров Д.А. Моделирование оптических методов биомедицинской диагностики // Концепт. 2016. Т. 11. С. 2851–2855.
16. Alerstam E., Lo W.C.Y., Han T.D., Rose J., Anderson-Engels S., Lilge L. Next-generation acceleration and code optimization for light transport in turbid media using GPUs // Biomed. Opt. Express. 2010. V. 1, N 2. P. 658–675.
17. Alerstam E., Svensson T., Anderson-Engels S. Parallel computing with graphics processing units for high-speed Monte Carlo simulation of photon migration // J. Biomed. Opt. 2008. V. 13, N 6. P. 060504-1–060504-3.
18. Cai F., He S. Using graphics processing units to accelerate perturbation Monte Carlo simulation in a turbid medium // J. Biomed. Opt. 2012. V. 17, N 4. P. 040502-1–040502-3.
19. Martinsen P., Blaschke J., Künnenmeyer R., Jordan R. Accelerating Monte Carlo simulations with an NVIDIA graphics processor // Comput. Phys. Commun. 2009. V. 180, N 10. P. 1983–1989.
20. Fang Q., Boas D.A. Monte Carlo simulation of photon migration in 3D turbid media accelerated by graphics processing units // Opt. Express. 2009. V. 17, N 22. P. 20178–20190.
21. Ren N., Liang J., Qu X., Li J., Lu B., Tian J. GPU-based Monte Carlo simulation for light propagation in complex heterogeneous tissues // Opt. Express. 2010. V. 18, N 7. P. 6811–6823.
22. Efremenko D.S., Loyola D.G., Doicu A., Spurr R.J.D. Multi-core-CPU and GPU-accelerated radiative transfer models based on the discrete ordinate method // Comput. Phys. Commun. 2014. V. 185, N 12. P. 3079–3089.
23. Ramon D., Steinmetz F., Compiegne M., Jolivet D. Massively parallel Monte-Carlo radiative transfer code on a desktop PC. URL: http://www-loa.univ-lille1.fr/workshops/Trattoria-2015/documents/posters/Didier_Ramon.pdf (last access: 1.10.2017).
24. Clough S.A., Iacono M.J., Moncet J.L. Line-by-line calculations of atmospheric fluxes and cooling rates: Application to water vapor // J. Geophys. Res. D. 1992. V. 97. P. 16519–16535.
25. NVIDIA official page. URL: www.nvidia.ru (lass access: 01.10.2017).
26. Русскова Т.В., Журавлева Т.Б. Оптимизация последовательного программного кода для моделирования переноса солнечного излучения в вертикально-неоднородной среде // Оптика атмосф. и океана. 2016. Т. 29, № 10. С. 836–842; Russkоvа Т.V., Zhurаvlevа Т.B. Optimization of sequential code for simulation of solar radiation transfer in a vertically heterogeneous environment // Atmos. Ocean. Opt. 2017. V. 30, N 2. P. 169–175.
27. Франк-Каменецкий А.Д. Моделирование траекторий нейтронов при расчете реакторов методом Монте-Карло. М.: Атомиздат, 1978. 93 c.
28. Сандерс Дж., Кэндрот Э. Технология CUDA в примерах: введение в программирование графических процессоров. М.: ДМК Пресс, 2015. 232 с.
29. Жуковский М.Е., Усков Р.В. Математическое моделирование радиационной эмиссии электронов на гибридных суперкомпьютерах // Вычислительные методы и программирование. 2012. Т. 13. С. 271–279.
30. Press W.H., Teukolsky S.A., Vetterling W.T., Flannery B.P. Numerical Recipes in Fortran 77: The Art of Scientific Computing. Volume 1 of Fortran Numerical Recipes. Cambridge University Press, 1986. 1003 pp.
31. Marsaglia G. Random Number Generators // J. Mod. Appl. Stat. Methods. 2003. V. 2, N 1. P. 2–13.
32. Lee A., Yau C., Giles M.B., Doucet A., Holmes C.C. On the utility of graphic cards to performe massively parallel simulation of advanced Monte Carlo methods // J. Comput. Graph. Stat. 2010. V. 19, N 4. P. 769–789.
33. Marsaglia G. Diehard battery of tests of randomness. The Marsaglia random number CD ROM. Department of Statistics, Florida State University, 1995.
34. Miller G.L. Riemann’s hypothesis and tests for primarily // J. Comput. Syst. Sci. 1976. V. 13. P. 300–317.
35. Rabin M.O. Probabilistic algorithm for testing primarily // J. Number Theory. 1980. V. 20, N 1. P. 128–138.
36. Matsumoto M., Nishimura T. Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator // ACM Trans. Model. Comput. Sim. 1998. V. 8, N 1. P. 3–30.
37. Matsumoto M., Nishimura T. Dynamic creation of pseudorandom number generators // Monte Carlo and Quasi-Monte Carlo Methods. Springer, 2000. P. 56–69.
38. Hess M., Koepke P., Schult I. Optical properties of aerosols and clouds: The software package OPAC // Bull. Am. Meteorol. Soc. 1998. V. 79, N 5. P. 831–844.
39. Комаров В.С., Ломакина Н.Я. Статистические модели пограничного слоя атмосферы Западной Сибири. Томск: Изд-во ИОА СО РАН, 2008. 222 с.
40. Мазин И.П., Хргиан А.Х., Имянинов И.М. Облака и облачная атмосфера. Л.: Гидрометиздат, 1989. 647 с.
41. Anderson G.P., Clough S.A., Kneizys F.X., Chetwynd J.H., Shettle E.P. AFGL Atmospheric Constituent Profiles (0–120 km). Air Force Geophysics Laboratory, 1986. 46 p.
42. Фирсов К.М., Смирнов А.Б. Представление функций пропускания рядом экспонент // Оптика атмосф. и океана. 1995. Т. 8, № 8. С. 1248–1252.
43. Творогов С.Д. Некоторые аспекты задачи о представлении функции поглощения рядом экспонент // Оптика атмосф. и океана. 1994. Т. 7, № 3. С. 315–326.
44. Fischer J., Grassl H. Detection of cloud top height from backscattered radiances within the oxygen A band. Part 1. Theoretical study // J. Appl. Meteorol. 1991. N 30. Р. 1245–1259.
45. Koelemeijer R.B.A., Stammes P., Hovenier J.W., de Haan J.F. A fast method for retrieval of cloud parameters using oxygen A band measurements from the Global Ozone Monitoring Experiment // J. Geophys. Res. 2001. V. 106. Р. 3475–3490.
46. Бадаев В.В., Малкевич М.С., Низик Б., Циммерман Г. Определение оптических параметров земной поверхности, океана и атмосферы со спутников «Интеркосмос 20 и 21» // Исслед. Земли из космоса. 1985. № 5. С. 18–29.
47. Timofeyev Yu.M., Vasilyev A.V., Rozanov V.V. Information content of the spectral measurement of the 0.76 mm O2 outgoing radiation with respect to the vertical aerosol optical properties // Adv. Space Res. 1995. V. 16, N 10. Р. 91–94.