V Всероссийская конференция молодых ученых А. А. Давыдов ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ УСКОРЕНИЯ РАСЧЕТА ЗАДАЧ АЭРО-ГАЗОДИНАМИКИ С ПОМОЩЬЮ ВЕКТОРНЫХ СОПРОЦЕССОРОВ
Введение Обзор физической реализации Средства разработки программ Тестовые расчеты Выводы
Сравнительная производительность CPU и GPU
Compute Unified Device Architecture Software Stack
Блоки трэдов и сетка блоков
Физическая модель NVidia GeForce 8800
Интерфейс CUDA (Compute Unified Device Architecture) Расширение языка C: Дополнительные идентификаторы функций Дополнительные идентификаторы переменных Новая директива запуска ядра Встроенные переменные
Дополнительные идентификаторы Идентификаторы функций __device__ __global__ __host__ Идентификаторы переменных __device__ __constant__ __shared__ Встроенные переменные gridDim blockIdx blockDim threadIdx
Пример: Заданы входные массивы U1, P1, R1, U2, P2, R2 U = U(U1, P1, R1, U2, P2, R2); P = P(U1, P1, R1, U2, P2, R2); R = R(U1, P1, R1, U2, P2, R2); S 1,2,3 = S 1,2,3 (U1, P1, R1, U2, P2, R2); U, P, R, S 1,2,3 – величины получаемые из решения задачи Римана о распаде произвольного разрыва. При длине массива Время расчета на Intel P4 (3GHz) и NVidia GeForce 8800 GTX различаетя в 180 раз в пользу последнего!!!
Уравнения Эйлера в декартовых координатах: Схема расчетной области:
Intel P4 (3GHz) Core2Duo (2GHz) AMD Opteron 248 GeForce 8600M GT GeForce 8800 GTX Время мсек Относительно G ,8629,4117,405,261 Поле давления при числе Маха набегающего потока 3.38 Время расчета шагов по времени