Назад
Источник: Иванова Е.В., Зори С.А. Применение технологии CUDA для реализации вычислительных задач реалистичного синтеза изображений трехмерных сцен // Інформатика та комп'ютерні технології. Збірка праць VI міжнародної науково-технічної конференції студентів, аспірантів та молодих науковців –листопад 2010 р., Донецьк, ДонНТУ. – 2010. – С. 134-141. – EDN WDMGZE.
УДК

ПРИМЕНЕНИЕ ТЕХНОЛОГИИ CUDA ДЛЯ РЕАЛИЗАЦИИ
ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ РЕАЛИСТИЧНОГО СИНТЕЗА ИЗОБРАЖЕНИЙ
ТРЕХМЕРНЫХ СЦЕН

Иванова Е.В., Зори С.А.
Донецкий национальный технический университет, г.Донецк
Кафедра прикладной математики и информатики
E-mail: calipso.kate@mail.ru

Иванова Е.В., Зори С.А. Применение технологии CUDA для реализации вычислительных задач реалистического синтеза изображений трехмерных сцен. В статье рассмотрены вопросы эффективности применения технологии CUDA для реализации вычислительной задачи синтеза реалистичных изображений трехмерных сцен. Предложен вариант реализации вычислительных модулей на CUDA для выполнения операций перемещения, поворота, масштабирования, нахождения нормалей полигонов и вершин объекта. Исследована, также, возможность дальнейшего эффективного использования данных, получаемых при расчетах на графических процессорах.

Общая постановка проблемы.

Создание программных систем, способных в режиме реального времени решать задачу реалистического синтеза изображений трехмерных сцен, не теряет своей актуальности. Технология CUDA, позволяющая распараллеливать вычислительную задачу реалистического синтеза изображений – один из путей решения проблемы.

Постановка задач исследования.

Методы реалистической визуализации применяются во многих областях деятельности человека, например, трехмерная графика, моделирование атмосферных и природных явлений и пр.. При этом, вычислительная задача процесса визуализации является самой важной и ресурсоемкой, поскольку состоит из вычисления расположения всех объектов сцены (положение, видимость, цвет, освещенность), а значит операций трехмерных преобразований - перемещения, поворотов, масштабирования, нахождения нормалей и вычисления новых координат, которые необходимо производить для всех граней и вершин объектов, находящихся на сцене. В данной работе исследовано применение технологии CUDA как средства для реализации таких операций и проведен анализ эффективности реализованных функций.

Решение задачи и результаты исследований.

Для реализации поставленной задачи с применением технологии CUDA были реализованы базовые функции решения вычислительной задачи синтеза и визуализации изображения.

Эффективность применения технологии CUDA заключается в возможности применения параллельных вычислений с использованием возможностей мощных параллельных графических спецпроцессоров видеокарт NVIDIA для реализации вычислительных задач при синтезе изображений. Эффективность распараллеливания вычислений определяется большим объемом идентичных операций.

Алгоритмы реализованы на «расширенном языке С» для вычислений на GPU от NVIDIA, поддерживающих CUDA.

В качестве критерия эффективности выбрано время выполнения расчетов. При анализе использовалась различная величина объектов (число вершин и полигонов), а так же производился анализ зависимости скорости вычислений от конфигурации вычислительной сети ядра графического процессора (варьировалась величина блока в сети и число блоков, из которых эта сеть состоит).

При анализе эффективности выполнения вычислительной задачи рассматривалось время выполнения функций:

Из полученных данных можно видеть, что при увеличении размера вычислительного блока в вычислительной сети, время необходимое для вычислений увеличивается.

Выводы.

Компания NVIDIA продолжает работу по созданию библиотеки, позволяющей использовать CUDA GPU для решения задач трассировки лучей. В дальнейшем предполагается возможность использования этой библиотеки для конструирования своих приложений – визуализация с использованием RayTracing или какие-либо подобные задачи.

Проанализировав скорость выполнения аффинных преобразований объекта и определения характеристик полигонов, составляющих объект, на вычислительных сетях различной конфигурации приходим к выводу, что скорость выполнения вычислений при увеличении величины вычислительного блока увеличивается. Если сравнивать временные затраты для вычислений на CPU и вычисления с применением технологии CUDA можно видеть, что на графическом процессоре вычисления осуществляются гораздо быстрее.

Проведенный анализ и исследования позволили сделать вывод об эффективности и целесообразности реализации алгоритма трассировки лучей, применяя возможности графического процессора. Однако, при этом обнаружены значительные временные затраты для копирования полученных данных из памяти графического устройства в оперативную память компьютера, поэтому необходима эффективная реализация преобразования полученных данных на графическом процессоре в форму, необходимую для их непосредственного отображения видеокартой.