Нижегородский государственный университет им. Н.И.Лобачевского Факультет Вычислительной математики и кибернетики Моделирование распространения света в многослойной среде методом Монте-Карло Руководитель: Гергель В.П. Докладчик: Горшков А.В. Нижний Новгород, 2010 г. Содержание Общая постановка задачи Существующие решения Постановка задачи на проект Использованные модели и методы Использованные алгоритмы Оптимизация Архитектура программной системы Тестовый стенд Результаты экспериментов Выводы Результаты выполнения работы Дальнейшее направление работ Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 2 Общая постановка задачи Лазеротерапия – один из нелекарственных методов лечения Для точного воздействия на определенную область нужно правильно подобрать параметры лазера Эти параметры можно установить, моделируя распространение света в биоткани 15 200 10 400 600 5 800 0 1000 1200 -5 1400 -10 1600 200 Н.Новгород, 2010 г. 400 600 800 Моделирование распространения света в многослойной среде методом Монте-Карло 1000 3 -15 Существующие решения Аналитическое решение – Можно решать только некоторые частные случаи Проведение экспериментов – Сложности с поддержанием постоянства параметров эксперимента Компьютерное моделирование – Lihong Wang, Ph. D. “Monte Carlo Modeling of Light Transport in Multilayered Tissues" • Среда – это набор плоскопараллельных слоев • Геометрия светового пучка не учитывается Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 4 Постановка задачи на проект Изучение метода моделирования, описанного в статье Реализация алгоритма моделирования на CPU Портирование алгоритма на GPU Распараллеливание на несколько GPU Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 5 Использованные модели и методы Метод статистического моделирования Монте-Карло – Необходимо провести большое число экспериментов – Эксперимент – запуск фотона в среду с последующим расчетом траектории его движения • Среда представляет собой набор слоев • Слой характеризуется набором оптических характеристик • Поведение фотона в среде в каждый момент времени определяется в соответствии с физическими законами распространения света • Поведение фотона случайно – В результате получаем значение величины поглощения света в каждой точке среды Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 6 Использованные алгоритмы Алгоритм моделирования методом Монте-Карло – Алгоритм расчета состоит из последовательности шагов – На каждом шаге вычисляется смещение фотона, направление смещения и часть веса фотона, которая поглощается данной точкой среды – Начальный вес фотона равен единице – При достижении границы слоя фотон либо отразится от нее, либо попадет в следующий слой – Расчет завершается, когда вес фотона станет близок к нулю – Общая световая энергия расходуется на поглощение, перенос и отражение Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 7 Использованные алгоритмы “Параллельный” генератор случайных чисел Требования: – Длинная последовательность случайных чисел (длина более 10 000 000 000) – Возможность параллельной работы с непересекающимися подпоследовательностями Решение: – Доработка стандартного генератора MCG59 • Каждый i-ый поток использует элементы последовательности начиная с i-го с шагом N, где N – общее число потоков Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 8 Оптимизация Использование “быстрой” памяти на GPU Работа с одинарной точностью Использование более быстрых, но менее точных математических функций на GPU Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 9 Архитектура программной системы Read Input Data From File Manager (CPU) Main Kernel (GPU) Write Output Data To File Windows Console (EXE) Н.Новгород, 2010 г. Windows Library (DLL) Моделирование распространения света в многослойной среде методом Монте-Карло 10 Тестовый стенд OS: MS Windows 7 Enterprise IDE: MS Visual Studio 2008 CUDA Toolkit 3.1 CPU: 2 x Intel Xeon E5520 2.27GHz RAM: 16 GB GPU: NVidia Tesla C1060 Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 11 Результаты: CPU и GPU (x14) Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 12 Результаты: кластер GPU (x4) Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 13 Выводы Алгоритм моделирования имеет хороший потенциал к распараллеливанию в силу независимости вычислений над фотонами Алгоритм удалось портировать на архитектуру GPU Использование оптимизаций позволяет получить существенное ускорение Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 14 Результаты выполнения работ Изучен алгоритм моделирования распространения света методом Монте-Карло Алгоритм реализован и распараллелен на CPU Алгоритм портирован на GPU Реализована версия алгоритма, работающая на нескольких GPU, установленных на одном вычислительном узле Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 15 Результаты выполнения работ Опубликована статья – Гергель В.П., Горшков А.В., Багаутдинов Т.А., Фикс И.И., Кириллин М.Ю. “Моделирование распространения света в многослойной среде методом Монте-Карло”, X Международная конференция «Высокопроизводительные параллельные вычисления на кластерных системах», 2010 год. Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 16 Дальнейшее направление работ Реализация параллельного алгоритма, работающего на кластере и использующего одновременно CPU и GPU Разработка алгоритма моделирования в среде с произвольной геометрией границ Разработка алгоритма моделирования с учетом геометрии светового пучка Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 17 Спасибо за внимание! Вопросы? Н.Новгород, 2010 г. Моделирование распространения света в многослойной среде методом Монте-Карло 18