Массивно-параллельное решение уравнения Пуассона с использованием
Почему была выбрана достаточно не сложная задача( Poisson 1D )? Численное решение уравнения Пуассона оптимально подходит в целях освоения параллелизации Cuda для задач численного решения ДУЧП. (Если эта задача ускоряется то значит ускоряются и другие). Уравнение Пуассона может быть расширено до 2D, 3D случаев заменой матрицы и правой части СЛАУ.
Уравнение Пуассона
Метод решения СЛАУ
Описание метода
Конфигурация Сравнение происходило на машине: CPU: Intel Core i5 GPU: nVidia GeForce 9800 Заметим, что карта на данный момент к сожалению является морально устаревшей. На лучшей видеокарте возможно добиться лучшего ускорения.
Подходы к ||-ю Cuda Попытка ||-ить все операции, каждая из которых __global__ с интерфейсом, в котором происходит cudaMemcpy Попытка ||-ить все операции, каждая из которых __global__ без интерфейса и без cudaMemcpy Попытка ||-ить все операции, каждая из которых __device__, всё вызывается в одном __global__
Использованный подход Ускорение было получено при ||-ии на Cuda самой «тяжелой» операции, а именно умножения матрицы на вектор.
Расчеты Сетка NCPU( в сек )GPU( в сек )xSpeedup , , , , , , , ,
Время выполнения
Ускорение