Применение технологий NVidia CUDA, OpenGl и C++ для реализации алгоритма графического представления «синусоиды»
Научный руководитель – ст. преподаватель
CUDA (англ. Compute Unified Device Architecture) — программно - аппаратная архитектура, позволяющая производить вычисления с использованием графических процессоров NVIDIA [1]. Позволяет разработчикам создавать программное обеспечение для решения сложных вычислительных задач за меньшее время, благодаря многоядерной вычислительной мощности графических процессоров, в связи с этим появляется задача об ускорении обработки данных, одним из возможных способов решения которой является массивное распараллеливание алгоритма.
Цель данной работы - рассмотрение аспектов реализации параллельных алгоритмов, практическое применение их в GPU в массивно-параллельной архитектуре. Также реализация алгоритма графического отображения «синусоиды» посредством CUDA и OpenGl для ускорения работы видеокарты путем распараллеливания, то есть использование графических процессоров GPU самой видеокарты.
Для реализации был выбран алгоритм графического представления «синусоиды», в основе которго лежит параллельное вычисление вершин VBO, где каждая вершина вычисляется по синусоиде со сдвигом по времени
В качестве инструментов для организации параллельных вычислений были выбраны NVidia CUDA и C++
Основные этапы работы алгоритма:
Создание пустого объекта буфера вершин (VBO). На этом шаге создается пустой Vertex Buffer Object (VBO), который обеспечивает методы выгрузки данных в видеоустройство. Регистрация объекта буфера (VBO) функцией cudaGraphicsGLRegisterBuffer() в Cuda. Связывание объекта буфера (VBO) в память Cuda функцией cudaGraphicsMapResources() для дальнейших параллельных вычислений ядром. Запуск ядра Cuda для изменения позиции вершин. Выгрузка объекта буфера (VBO) из памяти Cuda функцией cudaGraphicsUnmapResources() для передставления OpenGL. Представление результатов вычисления, используя OpenGL.В результате был получен следующий результат представленный на рис.1:

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


