Реализация метода Монте-Карло на графическом процессоре
Введение Одним из обширно используемых раскладов к числовому моделированию физических систем приходит метод Монте‑Карло, к использования которого нужен разбор наибольшего числа случайных состояний и вариантов поведения исследуемой системы, что связано с огромными объемами вычислений. Варианты случайного поведения системы, осматриваемые методом Монте‑Карло, обычно производятся и возделываются по одному и тому же всеобщему алгоритму, будучи при этом автономными друг от друга. Это позволяет качественно осуществлять метод Монте‑Карло на поточно‑параллельных вычислительных системах. В последние года возникла практическая случай выполнения поточно‑параллельного физико‑математического моделирования на графических процессорах (GPU) — вычислительных устройствах синхронной архитектуры, всегда предназначенных для отражения графики на персональных компьютерах и рабочих станциях. В настоящее время основные производители графических процессоров сами позиционируют новые GPU как все пригодные системы, предназначенные не только для графических вычислений, но и для рас‑ четов всеобщего назначения. В частности, компанией NVIDIA издаются графические процессоры архитектуры CUDA и подходящее программное обеспечение, которые дозволяют относительно свободно программировать GPU на языке, являющемся расширением языка C, хранящем синтаксис последнего и включающем все его ключевые возможности. Актуальность проекта: В данном дипломном проекте, соглана задачам, разработана оптимизация алгоритмов физического моделирования, которую необходимо контролировать их соответствие решаемой задаче. В частности, первый алгоритм моделирования диффузии нейтронов через пластину. Предположение, что все нейтроны входят в пластину одновременно, а другие нейтроны не рассматривались. Напротив, оптимизированный алгоритм включает в расчет нейтроны, которые входят в пластину после выхода предыдущих. Указанная разница в алгоритмах может давать разницу в результатах расчета, так как во втором случае на каждый нейтрон, совершающий в пластине много столкновений, приходится больше нейтронов, проходящих пластину за меньшее количество столкновений (так как нейтроны, быстро проходящие пластину, замещаются новыми). Со‑ поставим каждый из вариантов физическому смыслу задачи. Цель работы: Показать, что метод Монте‑Карло позволяет эффективно использовать параллельную архитектуру современных графических процессоров за счет обработки альтернативных случайных вариантов поведения моделируемой системы в большом количестве независимых вычислительных потоков.