Научная статья на тему 'Использование графических процессоров в алгоритмах обработки трассерных изображений'

Использование графических процессоров в алгоритмах обработки трассерных изображений Текст научной статьи по специальности «Прочие технологии»

CC BY
123
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГРАФИЧЕСКИЙ ПРОЦЕССОР / ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / ТРАССЕРНАЯ ВИЗУАЛИЗАЦИЯ / АЛГОРИТМ / GRAPHICS PROCESSING UNIT / PARALLEL COMPUTING / TRACER VISUALIZATION / ALGORITHM

Аннотация научной статьи по прочим технологиям, автор научной работы — Мочалин А. Е.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Using graphics processors in tracer images processing algorithms

The main ways to increase the speed of information technologies of tracer images processing is described in the article. Realization of the processing algorithm, based on the construction of the reconstructed frame, using parallel computing on graphics processing units is proposed.

Текст научной работы на тему «Использование графических процессоров в алгоритмах обработки трассерных изображений»

УДК 004.9:532.574

А. Е. Мочалин ИСПОЛЬЗОВАНИЕ ГРАФИЧЕСКИХ ПРОЦЕССОРОВ В АЛГОРИТМАХ ОБРАБОТКИ ТРАССЕРНЫХ ИЗОБРАЖЕНИЙ

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

Ключевые слова: графический процессор, параллельные вычисления, трассерная визуализация, алгоритм

1. Введение

Исследование разнообразных потоков жидкостей и газов является одной из важнейших научно-практических задач. Течения сплошных сред наблюдаются не только в натуральных условиях и различных технических устройствах, но также и в биологических системах (например, движение потоков воздуха в дыхательных каналах). Довольно часто они носят сложный характер, что существенно затрудняет изучение течений, без которого невозможно их практическое применение, обеспечивающее научно-технический прогресс.

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

2. Постановка проблемы

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

траты времени, но вместе с этим еще не получило распространение в современных информационных технологиях обработки трассерных кадров.

3. Основная часть

3.1. Анализ литературных источников по теме исследования. В работе [1] представлены наиболее распространенные адаптивные алгоритмы, используемые в информационных технологиях обработки трассерных изображений. В их основе лежит базовый кросскорреляционный подход, который детально рассмотрен в роботе [2]. Наиболее трудоемким этапом базового подхода является вычисление значений функции кросскорреляции двух изображений. Обычно для расчета функции взаимной корреляции используют быстрое преобразование Фурье. Это позволяет значительно ускорить процесс вычислений, однако при этом уменьшается точность получаемых значений кросскорреляционной функции. Особенно это проявляется при больших перемещениях частиц на изображениях, например, при измерении характеристик турбулентных потоков.

С другой стороны, применение параллельных вычислений позволяет значительно повысить быстродействие программного обеспечения. Для этих целей можно использовать многоядерные центральные процессоры, вычислительные кластеры и графические процессоры (GPU — Graphics processing unit). Использование современных графических ускорителей для математических расчетов является одним из наиболее перспективных способов увеличения производительности. Это обусловлено тем, что аналогичные по производительности кластеры либо многоядерные процессоры имеют в сотни раз большую стоимость.

В работе [3] представлена новая информационная технология обработки трассерных изображений, на основе построения реконструированного кадра (BORF — Building and Optimization of Reconstructed Frame). BORF обеспечивает повышение точности количественного анализа полей

technology audit and PRODUCTION RESERVES — № 6/4(8), 2012, © O. Machalin

скорости на 20...60 % в сравнении с адаптивными кросскорреляционными алгоритмами при исследованиях течений жидкости и газа с локальными градиентами скорости до 2 пикселей/пиксель. Однако недостатком данной технологии, являются высокие затраты памяти и большая временная сложность. В роботе [4] представлены механизмы управления виртуальной памятью в среде WIN32, позволяющие существенно снизить затраты памяти на обработку трассерных кадров алгоритмом, основанном на построении реконструированного изображения. Существенно повысить скорость работы алгоритма можно за счет использования GPU.

3.2. Результаты исследований. В ходе научных исследований базовый кросскорреляционный алгоритм и алгоритм, реализующий метод BORF, были модифицированы таким образом, чтобы было возможно производить математические расчеты на графических процессорах. Для работы с GPU использовалась технология Cuda. Это обусловлено наличием хорошей документации, свободного бесплатного распространения и наличием хорошей документации.

В качестве первого приближения узловых векторов перемещения [3] в методе BORF используются результаты стандартной кросскорреляции. Использование нового алгоритма, реализующего базовую кросскорреляцию и учитывающего специфику вычислений на GPU, позволило повысить быстродействие в 24 раза по сравнению с выполнением того же алгоритма только на центральном процессоре. Это достигается за счет того, что все искомые значения функции кросскорреляции для каждого положения каждого элементарного окошка разбиения трассерного кадра вычисляются параллельно, а не последовательно. При этом, чтобы повысить скорость работы с глобальной памятью видеокарты, большое количество запросов к ней объединяются в один (coalescing global memory accesses).

В алгоритме, реализующем метод BORF, распараллеливание вычислений достигается за счет того, что одновременно рассчитывается сдвиг каждого пикселя первого кадра, а затем, так же в параллельном режиме, находятся яркости каждого пикселя реконструированного кадра. Так как на интенсивность одного пикселя реконструированного кадра могут оказать влияние несколько пикселей первого кадра, то при параллельных вычислениях возможны случаи коллизии памяти, когда несколько нитей пытаются одновременно изменить состояние одного и того же участка памяти. Чтобы гарантировать корректность выполнения всех операции использовались атомарные функции.

Наиболее трудоемким в методе BORF является процесс расчета градиентов функции отличия. При нахождении градиентов каждая отдельная нить вычисляет значение одной проекции градиента при их общем числе ~12К (К — число элементарных окон). Это несколько усложняет алгоритм,

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

В целом, использование технологии Cuda позволило в 20...30 раз увеличить быстродействие программного обеспечения, основанного на методе BORF и тем самым повысить качественные показатели новой информационной технологии обработки трассерных изображений.

Литература

1. Мочалін О. Є. Розвиток інформаційних технологій обробки цифрових трасерних зображень [Текст] / О. Є. Мо-чалін, С. В. Гонтовий // Наукові праці. Сер. Комп’ютерні технології. — 2011. —Вип. 130, Т. 143. — С. 88—93.

2. Adrian R. J. Theory of cross correlation analysis of PIV images [Text] / R. J. Adrian, R. D. Kean // Appl. Sci. Res. — 1992. —Vol. 49, No. 3. — P. 191—215.

3. Мочалин А. Е. Информационная технология трассер-ной визуализации, основанная на оптимизации реконструированного изображения [Текст] / А. Е. Мочалин // Радіоелектронні і комп’ютерні системи. — 2010. — № 4. — С. 174—178.

4. Мочалин А. Е. Использование механизмов управления виртуальной памятью в Win32 для компьютерной обработки цифровых трассерных изображений [Текст] / А. Е. Мочалин, Е. В. Мочалин // Сб. науч. Трудов ДонГТУ. — Алчевск: ДонГТУ, 2011. — Вып. 34. — С. 305—313.

ВИКОРИСТАННЯ ГРАФІЧНИХ ПРОЦЕСОРІВ У АЛГОРИТМАХ ОБРОБКИ ТРАССЕРНИХ ЗОБРАЖЕНЬ

О. Е. Мочалін

У статті розглянуті основні способи підвищення швидкодії інформаційних технологій обробки трасерних зображень. Запропоновано реалізацію алгоритму обробки, заснованого на побудові реконструйованого кадру, з використанням паралельних обчислень на графічних процесорах.

Ключові слова: графічний процесор, паралельні обчислення, трасерна візуалізація, алгоритм.

Олександр Євгенович Мочалін, аспірант кафедри спеціалізованих комп’ютерних систем Донбаського державного технічного університету, тел.: (066) 273-95-83, e-mail: omigo@i.ua.

USING GRAPHICS PROCESSORS IN TRACER IMAGES PROCESSING ALGORITHMS

O. Mochalin

The main ways to increase the speed of information technologies of tracer images processing is described in the article. Realization of the processing algorithm, based on the construction of the reconstructed frame, using parallel computing on graphics processing units is proposed.

Keywords: graphics processing unit, parallel computing, tracer visualization, algorithm.

Oleksandr Mochalin, graduate student of Department of specialized computer systems, Donbas State Technical University, tel.: (066) 273-95-83, e-mail: omigo@i.ua.

40

ТЕХНОЛОГИЧЕСКИЙ АУДИТ И РЕЗЕРВЫ ПРОИЗВОДСТВА — № 6/4(8), 2012

i Надоели баннеры? Вы всегда можете отключить рекламу.