130 likes | 463 Views
Массивно-параллельное решение у равнения Пуассона с использованием. Технологии CUDA. Почему была выбрана достаточно не сложная задача( Poisson 1D )?.
E N D
Массивно-параллельное решение уравнения Пуассона с использованием Технологии CUDA
Почему была выбрана достаточно не сложная задача( Poisson 1D )? • Численное решение уравнения Пуассона оптимально подходит в целях освоения параллелизацииCudaдля задач численного решения ДУЧП. (Если эта задача ускоряется то значит ускоряются и другие). • Уравнение Пуассона может быть расширено до 2D, 3D случаев заменой матрицы и правой части СЛАУ.
Уравнение Пуассона Рассмотрим уравнение Пуассона = ,
Метод решения СЛАУ Выбран метод сопряженных градиентов • Решение СЛАУ • Эффективный метод решения симметричных положительно определенных систем • Гарантированно сходится за итераций ( - число неизвестных)
Описание метода • 1: Вычислить для начального приближения • 2: do //в циклеподразумевается i++ • 3: • 4: • 5: • 6: • 7: • 8: • 9: • 10: while
Конфигурация Сравнение происходило на машине: • CPU: Intel Core i5 • GPU: nVidia GeForce 9800 Заметим, что карта на данный момент к сожалению является морально устаревшей. На лучшей видеокарте возможно добиться лучшего ускорения.
Подходы к ||-юCuda • Попытка ||-ить все операции, каждая из которых __global__ с интерфейсом, в котором происходит cudaMemcpy • Попытка ||-ить все операции, каждая из которых __global__ без интерфейса и без cudaMemcpy • Попытка ||-ить все операции, каждая из которых __device__, всё вызывается в одном __global__
Использованный подход Ускорение было получено при ||-ии на Cudaсамой «тяжелой» операции, а именно умножения матрицы на вектор.