Гораздо более эффективным является метод, относящийся к клас-
су весовых модификаций метода Монте-Карло [9], когда полагают,
что в каждом узле траектории для кванта реализуются обе возмож-
ности — рассеяние и поглощение. При этом поглощенному фотону
приписывается вес, равный вероятности поглощения, а рассеянно-
му — вес, равный вероятности “выжить”. Такая модификация метода
Монте-Карло не только снижает дисперсию результатов, но и умень-
шает число условных переходов, что является важным при использова-
нии графических процессоров и связано с особенностями разработки
приложений для CUDA. Далее c целью оптимизации работы видео-
ускорителя в качестве вычислителя была предложена и реализована
многоядерная
схема проведения вычислений. Каждое ядро реализует
по возможности однородную совокупность вычислений. Общая схема
параллельной реализации рассматриваемого алгоритма изображена на
рис. 5.
Анализ алгоритма позволил выделить четыре более или менее од-
нородные части, для каждой из которых строится соответствующее
ядро. В левом прямоугольнике на рис. 5 изображено содержание и
порядок запуска ядер с центрального процессора на ГПУ.
•
Генерация фотонов
— в рамках данного ядра в каждом из по-
токов на основе характеристик источника, задаваемых настройками,
генерируется текущий фотон. Для него определяются положение, на-
правление движения, начальная энергия и спектральный вес.
Рис. 5. Схема многоядерной реализации алгоритма
ISSN 1812-3368. Вестник МГТУ им. Н.Э. Баумана. Сер. “Естественные науки”. 2011. № 3
79