Применение технологий 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