Параллельные вычисления: NVIDIA Tesla K20 против Intel Core i7

Компания Simmakers совместно с NVIDIA и Форсайт провели тестирование скорости GPU-версии программы Frost 3D Universal для решения задач теплопроводности на системе NVIDIA Tesla K20. Результаты превзошли все ожидания: время расчета модели ледяной стены вокруг АЭС «Фукусима» на графическом процессоре NVIDIA Tesla K20 составило менее 6 минут.
Чтобы провести полноценное сравнение скоростей вычисления для различных по конфигурации систем, были подготовлены специальные тесты, включающие следующие размерности моделей:
1) 1 млн. ячеек (100x100x100); 2) 3,4 млн. ячеек (150x150x150); 3) 8 млн. ячеек (200x200x200); 4) 15.6 млн. ячеек (250x250x250); |
5) 27 млн. ячеек (300x300x300); 6) 42.9 млн. ячеек (350x350x350); 7) 64 млн. ячеек (400x400x400); 8) 91 млн. ячеек (450x450x450). |
Решаемая задача была сформулирована следующим образом: трехмерная нестационарная двухфазная задача Стефана (нелинейная теплопроводность) на прямоугольной сетке.
Для эффективного распараллеливания вычислений, код расчетного механизма был написан в двух версиях: для центральных процессоров Intel – на языке C++ с поддержкой директив распараллеливания OpenMP, а для графических процессоров NVIDIA – на языке CUDA C++.
На гистограмме ниже представлено относительное время (за единицу принято время работы процессора Intel Core I7) тестовых расчётов на различных многоядерных процессорах для разных по размерности моделей.

На графике показано абсолютное время в минутах расчёта температуры на 1 год в кубической области размера 20x20x20 метров.

Видеокарта NVIDIA GTX 560 Ti опередила NVIDIA GTX 660 Ti в 4-х тестах из 5-и, несмотря на то, что имеет меньше ядер CUDA. Это обусловлено более высокой частотой ядер CUDA в NVIDIA GTX 560 Ti и лучшей оптимизацией решателя под данную видеокарту.
Объём оперативной памяти видеокарт NVIDIA GTX 560 Ti и NVIDIA GTX 660 Ti составляет 2 Гб, что позволяет использовать их для моделирования задач теплопроводности с числом узлов до 42 миллионов. Графический процессор NVIDIA Tesla K20c имеет в распоряжении 5 Гб памяти, что дает возможность использования до 105 миллионов узлов для моделирования.
В то же время, используемые в тесте процессоры компании Intel могут использовать до 32 Гб, что соответствует 690 миллионам узлов (если считать, что 1 Гб используется в сумме всеми остальными процессами системы). Очевидно, что скорость расчёта на предельно большой сетке будет сравнительно низкой.
В качестве демонстрации возможностей CUDA и OpenMP версий расчетного механизма был произведен расчет опубликованной ранее прикладной задачи: моделирование заморозки грунта по периметру атомной электростанции «Фукусима». Расчет выполнялся на персональном компьютере с использованием процессора Intel Core I7, а также на сервере с графической видеокартой Tesla K20.
Результаты сравнительных расчетов следующие: Intel Core i7 — расчет занял 58 минут, Tesla K20 — расчет занял 6 минут.