ВВЕДЕНИЕ 3
1 Технология программирования на графических процессорах 4
2 Алгоритмы решения систем алгебраических уравнений 6
ЗАКЛЮЧЕНИЕ 6
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 11
Читать дальше
Таким образом, в данной работе была рассмотрена технология программирования графических процессоров CUDA (Compute Unified Device Architecture) фирмы NVIDIA.
В работе рассмотрена параллельная реализация решения систем линейных алгебраических уравнений на вычислительных узлах, содержащих центральный процессоры и графические ускорители.
Был изучен алгоритм распараллеливания решения больших систем линейных алгебраических уравнений методом сопряженных градиентов с использованием технологии CUDA.
Эксперименты показали, что для систем большого порядка время решения с использованием CUDA сокращается более чем на порядок по сравнению с решением только на центральном процессоре.
Гибридные вычислительные узлы, содержащие и совместно использующие CPU+GPU позволяют обеспечить эффективное решение более широкого круга задач или одной задачи, для которой меняются параллельные свойства алгоритмов, и назначить на выполнение то или другое исполнительное устройство. Отметим также высокую энергоэффективность гибридных вычислительных систем в тех случаях, когда равномерно загружены центральные процессоры и графические ускорители вычислений.
В 2007 году компания NVIDIA выпустила архитектуру параллельных вычислений CUDA (Compute Unified Device Architecture). Используя CUDA, программисты получили возможность разработки параллельных алгоритмов для GPU на специальном диалекте языка C, без необходимости сложного графического программирования [8]. Производительность последних версий GPU, таких как NVIDIA Tesla V100, сравнима с производительностью 100 CPU, что делает GPU эффективным инструментом для ресурсоемких вычислений.
Читать дальше
1. Боресков А. В. Основы работы с технологией CUDA / А. В. Боресков, А. А. Харламов. — М. : ДМК-Пресс, 2019. — 232 с.
2. Исупов К. С., Князьков В. С. Матрично-векторное умножение многократной точности на графическом процессоре // Программные системы: теория и приложения. — 2020. — №11. — С. 33–59.
3. Параллельные вычисления на GPU. Архитектура и программная модель CUDA : учебное пособие / А. В. Боресков [и др.]. — М. : Издательство Московского Университета, 2012. — 336 с.
4. Тоуманнен Брианн. Программирование GPU при помощи Python и CUDA. / Б. Тоуманнен. — М. : ДМК-Пресс, 2020. — 264 с.
5. G. He, J. Gao, J. Wang. “Efficient dense matrix-vector multiplication on GPU”, Concurrency and Computation: Practice and Experience, 30:19 (2018), e4705. h
6. J. Muller, N. Brunie, F. de Dinechin, C. Jeannerod, M. Joldes, V. Lef`evre, G. Melquiond, N. Revol, S. Torres. Handbook of floating-Point arithmetic, 2, Birkh¨auser, Basel, 2018, ISBN 978-3-319-76525-9. H
7.Cublasshttp://developer.download.nvidia.com/compute/cuda/1_1/CUBLAS_Library_1.1.pdf (дата обращения: 16.12.2020).
8.CUFFThttp://developer.download.nvidia.com/compute/cuda/1_1/CUFFT_Library_1.1. pdf. 2007 (дата обращения: 16.12.2020).
9. NVIDIA CUDA Compute Unified Device Architecture. Programming Guide.http://developer.download.nvidia.com/compute/cuda/1_1/NVIDIA_CUDA_Programming_ Guide_1.1.pdf. 2007
Читать дальше