Моделирование распространения света в многослойной среде

advertisement
Нижегородский государственный университет
им. Н.И.Лобачевского
Факультет Вычислительной математики и кибернетики
Моделирование распространения
света в многослойной среде методом
Монте-Карло
Руководитель: Гергель В.П.
Докладчик: Горшков А.В.
Нижний Новгород, 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
Download