Для сравнения скоростей параллельных вычислений на CPU и GPU была использована модель добывающих скважин.
В качестве расчетного аппаратного обеспечения были выбраны доступные на сегодняшний день для широкого круга пользователей такие вычислительные ресурсы, как центральный процессор Intel Core i7 и графический ускоритель Nvidia Titan.
Intel Core i7-3770 | Nvidia GeForce GTX Titan |
![]() |
![]() |
Основные характеристики | Основные характеристики |
Число ядер: 4 ядра | Число ядер: 2688 ядер |
Базовая тактовая частота: 3.4 GHz | Базовая тактовая частота: 836 MHz |
Тактовая частота с ускорением: 3.9 GHz | Тактовая частота с ускорением: 876 MHz |
Потребление энергии: 77 W | Потребление энергии: 250 W |
Рекомендованная цена: 250$ | Рекомендованная цена: 1300$ |
Трехмерная модель была дискретизирована с разным пространственным шагом. В итоге были получены расчетные сетки, количество элементов в которых составляло ~ 2млн., 4 млн., 8 млн. и 16 млн. Каждая расчетная сетка была запущена на расчет на одном ядре Inlel Core i7, четырех ядрах Inlel Core i7 и на видеоускорителе GeForce GTX Titan. Ниже представлены результаты расчетов для двухлетнего прогноза.
Количество ячеек | Время расчета | Прирост скорости | ||||
1 ядро Intel Core i7 Одноядерная CPU версия |
4 ядра Intel Core i7 Многоядерная CPU версия |
GeForce GTX Titan GPU Версия |
4 ядра Intel Core i7 к 1 ядру | GeForce GTX Titan к 4-м ядрам Intel Core i7 | GeForce GTX Titan к 1 ядру Intel Core i7 | |
2 000 000 |
9.62 ч (34 632 с) |
5.97 ч (21 504 с) |
34.11 мин (2047 с) |
1.61x | 10.50x | 16.91x |
4 000 000 |
18.16 ч (65 388 с) |
10.63 ч (38 287 с) |
57.65 мин (3459 с) |
1.70x | 11.06x | 18.90x |
8 000 000 |
34.33 ч (123 600 с) |
19.22 ч (69 221 с) |
1.62 ч (5844 с) |
1.78x | 11.84x | 21.14x |
16 000 000 |
61.14 ч (220 104 с) |
32.98 ч (118 736 с) |
2.62 ч (9456 с) |
1.85x | 12.55x | 23.27x |
За 1x взята скорость работы одного ядра процессора Intel Core i7
Следует отметить, что при сравнении скоростей вычислений на многоядерных архитектурах значительное влияние на рост ускорения оказывают параметры самой модели. Основными такими параметрами являются:
- количество материалов;
- количество граничных условий;
- равномерность расчетной сетки;
- кратность количества элементов в сетке количеству вычислительных ядер;
- однотипность теплофизических свойств материалов.
А это означает, что максимальный прирост скорости на параллельных архитектурах получают самые простые модели с регулярной расчетной сеткой, с минимальным количеством материалов и граничных условий.
Как правило, на практике расчетные модели являются более сложными, поэтому для объективного анализа скоростей расчетов и была выбрана модель добывающих скважин.
Выводы:
- Вычислительные алгоритмы с низкой степенью параллелизации неэффективно использовать на многоядерных процессорах и графических ускорителях.
- Программное обеспечение для инженерного анализа от крупных производителей содержит в себе много последовательного кода, что налагает существенное ограничение на ускорение в параллельных вычислениях. Этот факт можно объяснить возрастом создания алгоритмов для математических решателей от этих производителей. В то время еще не было таких «молодых» технологий, как CUDA, и соответственно код не «проектировался» с учетом его дальнейшего распараллеливания под эти технологии.
- Математические алгоритмы в расчетном программном обеспечении последнего поколения написаны с учетом технологий параллельных вычислений, что позволяет достигать ускорения в десятки раз при переносе вычислений с одного ядра CPU на многоядерные графические ускорители.