КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Быстродействие простейшего алгоритмаАлгоритм, рассмотренный выше, хорошо демонстрирует основные идеи моделирования диффузии нейтронов через пластину методом Монте-Карло. Вместе с тем, он не является оптимальным, поскольку после завершения расчёта «своей» траектории вычислительные потоки останавливаются. Эффект иллюстрируют графики на рис. 3.4-3.5, показывающие зависимость времени счёта от количества нейтронов (вычислительных потоков), а также сравнение производительностей графического и центрального процессоров при выполнении этого алгоритма. Вычислительная система, на которой были получены приводимые ниже результаты, состояла из четырёхядерного центрального процессора Intel Core 2 Quad Q9550 2.83 ГГц и графического процессора NVIDIA GeForce 8800 GTX, содержащего 16 потоковых мультипроцессоров и, соответственно, 128 скалярных процессоров. Из рис. 3.4 видно, что время, затрачиваемое графическим процессором на расчёт, почти не зависит от количества запускаемых вычислительных потоков: при увеличении количества потоков в 4 раза, от 1024 до 4096, время счёта увеличилось только на 5.5 %. Это означает, что алгоритм из п. 3.2.3 не полностью задействует ресурсы графического процессора. Иначе дополнительные вычислительные потоки можно было бы запускать только за счёт пропорционального увеличения времени расчёта. Рис. 3.4. Зависимость времени исполнения вычислительного ядра п. 3.2.3. от количества нейтронов (вычислительных потоков) Рис. 3.5. Отношение времён исполнения вычислительного ядра п. 3.2.3 на CPU и GPU в зависимости от числа параллельных вычислительных потоков Рис. 3.5 показывает, что производительность расчёта на GPU (то есть, в параллельном режиме) хотя и выше, чем на CPU, однако не на два порядка, как для многих других приложений (см., например, [6]-[7]). Преимущество GPU возрастает с увеличением количества вычислительных потоков, но даже при 4096 вычислительных потоках достигает только 18 раз. Для сравнения, при выполнении теми же 4096 потоками генератора Mersenne Twister без моделирования диффузии нейтронов, GPU генерирует за единицу времени в 108 раз больше случайных чисел, чем центральный процессор. Это означает, что неоптимальный алгоритм моделирования понизил производительность графического процессора в 108 / 18 = 6 раз.
|