Применение технологий NVidia CUDA, OpenGl и C++ для реализации алгоритма графического представления «Мерцающий цветок».
Научный руководитель – ст. преподаватель
CUDA (англ. Compute Unified Device Architecture) — разработанная компанией NVIDIA программно-аппаратная архитектура, позволяющая производить вычисления с использованием графических процессоров NVIDIA, поддерживающих технологию GPGPU (произвольных вычислений на видеокартах).
OpenCL (от англ. Open Computing Language — открытый язык вычислений) — фреймворк для написания компьютерных программ, связанных с параллельными вычислениями на различных графических (англ. GPU) и центральных процессорах (англ. CPU).
Цель данной работы - рассмотрение аспектов реализации параллельных алгоритмов, практическое применение их в GPU в массивно-параллельной архитектуре. Также реализация алгоритма графического отображения «синусоиды» посредством CUDA и OpenGl для ускорения работы видеокарты путем распараллеливания, то есть использование графических процессоров GPU самой видеокарты.
Для реализации был выбран алгоритм графического представления «мерцающего цветка», в основе которого лежит параллельное вычисление вершин PBO, где каждый пиксель вычисляется со сдвигом по времени
В качестве инструментов для организации параллельных вычислений были выбраны NVidia CUDA и C++.
Основные этапы работы алгоритма:
Шаг 1: Создание окна. На этом шаге инициализирует контекст OpenGL для совместной работы с Cuda, отображает изображение и окно.
Шаг 2: Внутри функции initGL вызывается функция display(…), запускающая функцию render_kernel(…), которая запускает ядро вычислений.
Шаг 3: Выбираем лучший Cuda device для распараллеливания.
Шаг 4: Определяем функцию, которая создает пустой буфер и регистрирует его в Cuda.
Шаг 5: грузим из файла данные для отображения.
Шаг 6: Представление результатов вычисления, используя OpenGL.
В результате был получен следующий результат представленный на рис.1:

Рис.1 Графическое отображение «Мерцающего цветка»
Список литературы:
1. NVIDIA. CUDA Zone. – URL: http://www. nvidia. ru/object/cuda_home_new_ru. html


