Научная статья на тему 'Особенности разработки алгоритмов 3D-рендеринга для графических процессоров, использующих технологию CUDA'

Особенности разработки алгоритмов 3D-рендеринга для графических процессоров, использующих технологию CUDA Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
144
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
3D-рендеринг / повышение достоверности измерений / АСК / алгоритмы / CUDA / 3D-rendering / algorithms / ACS / improving examination reliability / CUDA.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Федоров Петр Алексеевич

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

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

This article presents a view to the ways of improving examination reliability in measuring of microelectronic devices in automated control system (ACS). As a certain way we suppose 3D-render of researched object. We suggest using an effective algorithm of ray tracing based on Monte-Carlo method for getting 3D-scene and discuss certain features of using it on GPU with CUDA.

Текст научной работы на тему «Особенности разработки алгоритмов 3D-рендеринга для графических процессоров, использующих технологию CUDA»

Евразийский Союз Ученых (ЕСУ) # 10 (19), 2015 | ТЕХНИЧЕСКИЕ НАУКИ

149

I PK+1 =1

Начиная с (К + 1) - го битового интервала среда передачи предоставляется станциям в порядке убывания вероятностей PK+1

i.

Заключение

Недостатки, присущие сетям, использующим метод доступа CSMA/CD, частично устраняются при реализации сети на основе коммутатора. Однако по причине ограниченности ёмкости буферного ЗУ коммутатора при высокой интенсивности потока заявок процент потерянных пакетов остаётся недопустимо высоким. Когда передача данных сталкивается с проблемой «бутылочного горлышка» для приёма и отправки пакетов на коммутаторах обычно используется метод FIFO: первый пришел — первый ушёл (FirstIn — First Out). При интенсивном трафике это создаёт

заторы, которые разрешаются крайне простым образом: все пакеты, не вошедшие в буфер очереди FIFO (на вход или на выход), игнорируются коммутатором и, соответственно, теряются безвозвратно. Использование рассмотренного способа коррекции метода доступа позволяет увеличить пропускную способность сети Ethernet на основе коммутатора. В отличие от метода приоритетного доступа QoS предлагаемая организация доступа предполагает определение порядка станций в очереди на обслуживание, имеющих пакеты для передачи с одинаковыми метками типа сервиса.

Список литературы:

1. Абчук В.А. Справочник по исследованию операций. — М.: Воениздат, 1975. - 157 с.

2. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. — СПб.: Питер, 2004. - 863 с.

ОСОБЕННОСТИ РАЗРАБОТКИ АЛГОРИТМОВ ЭБ-РЕНДЕРИНГА ДЛЯ ГРАФИЧЕСКИХ ПРОЦЕССОРОВ, ИСПОЛЬЗУЮЩИХ

ТЕХНОЛОГИЮ CUDA

Федоров Петр Алексеевич

Ассистент каф. ИПОВС, НИУ «Московский институт электронной техники».

АННОТАЦИЯ

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

ABSTRACT

This article presents a view to the ways of improving examination reliability in measuring of microelectronic devices in automated control system (ACS). As a certain way we suppose 3D-render of researched object. We suggest using an effective algorithm of ray tracing based on Monte-Carlo method for getting 3D-scene and discuss certain features of using it on GPU with CUDA.

Ключевые слова: 3D-рендеринг, повышение достоверности измерений, АСК, алгоритмы, CUDA.

Key words: 3D-rendering, algorithms, ACS, improving examination reliability, CUDA.

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

входных сигналов разнотипных данных и их последующего совмещения как единого 3D-изображения.

Проблемы и методы измерений размеров в технологии микроэлектроники, методы фильтрации сигналов, сегментации изображений достаточно глубоко исследованы и широко представлены в современной научной литературе. Всесторонней проработкой этой тематики занимались как отечественные, так и зарубежные специалисты в области обработки сигналов и изображений: В.А. Абрамов, Ю.С. Андреев, Ю.М. Баяковский, А.А. Богуславский, В.П. Веж-невец, Ю.И. Журавлев, М.Д. Казанов, В.Ф. Нестерук, В.Д. Колдаев, В.В. Сергеев, В.А. Сойфер, С.В. Яблонский, Л.П. Ярославский, Russel B, Zhang Y.J., R. Woods, P. Wiola, M. Johns, L. Davis, R. Gonzalez, W. Lyppel, Huang T.S., D. Prevytt, A. Rozenfeld, T. Павлидис, W. Pratt и др. Однако, единого подхода к обработке разнотипных сигналов и их последую-

150

Евразийский Союз Ученых (ЕСУ) # 10 (19), 2015 | ТЕХНИЧЕСКИЕ НАУКИ

щему совмещению, т.е. к осуществлению 3D- рэндеринга до сих пор не существует.

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

В настоящее время основным сдерживающим фактором развития данного направления является низкая производительность непредвзятого 3D-рендеринга на неспециализированных устройствах типа персональных компьютеров, управляющих исследованиями образцов с применением стандартных методик. В [1], [2] и [4] были рассмотрены предпосылки для выбора алгоритма и пути его модификации приведшие к разработке “эффективного алгоритма трассировки лучей на основе метода Монте-Карло для получения 3D-сцены”. Как было показано в [1], для достижения наибольшей эффективности при реализации данного алгоритма предпочтительно использование архитектуры параллельных вычислений CUDA, позволяющей единовременно трассировать несколько лучей.

Основным сдерживающим фактором, мешающим реализации разработанных и представленных в [1] и [2] параллельных алгоритмов является невозможность глобальной синхронизации между всеми потоками на GPU. Данное ограничение является аппаратным. GPU построены таким образом, что состоят из нескольких потоковых мультипроцессоров. Для запуска GPU кода программисту необходимо структурировать все потоки в специальные группы, называемые “блоками”. Один блок потоков гарантированно должен выполняться на одном мультипроцессоре. Но мультипроцессоры имеют возможность исполнять сразу несколько блоков (если общее количество потребляемых им ресурсов не превышает доступного в мультипроцессоре) и помещать оставшиеся в “очереди”. Главная проблема такого подхода заключается в том, что блоки, попавшие в очередь, не могут начать выполнение, пока запущенные на мультипроцессоре - не завершатся. Это является следствием отсутствия поддержки сохранения и восстановления контекста запущенных блоков на аппаратном уровне, поскольку это потребовало бы сохранения всей локальной памяти мультипроцессора вне самого мультипроцессора. Единственной возможностью выступает глобальная память GPU, но следует учитывать, что она является самой медленной в устройстве и операции по сохранению/восстановлению контекста были бы слишком затратными, и вообще говоря - бесполезными (за это время выгоднее дать текущим блокам завершить свое выполнение, нежели постоянно ждать пока они загрузятся/ выгрузятся из глобальной памяти).

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

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

По этой причине, в разработанный алгоритм потребовалось внести некоторые изменения. Основная идея этой версии алгоритма (рис. 1) лежит в использовании лишь одного блока потоков в алгоритме разбиения узлов дерева (т.е. построении ускоряющей структуры). Другими словами, после этапа траверса (когда необходимые к разбиению AABB1 уже помечены) первый блок, попытавшийся начать разбиение конкретного AABB - производит его, в то время как другие - пытаются произвести аналогичную операцию над остальными.

Таким образом, только один блок потоков разбивает AABB в отдельный момент времени. Несколько блоков могут одновременно обрабатывать несколько узлов, поскольку процесс разбиения отдельного узла равносилен сортировке отдельной части массива, не пересекающейся с другими (в случае разбиения узлов одного уровня или разных поддеревьев). Кроме того, проверка того, что AABB уже начал разбивать другой блок потоков, производится при помощи специального флага, хранящегося вместе с узлом дерева (все операции с этим флагом являются атомарными, также предоставляемыми интерфейсом CUDA).

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

1 В качестве узлов дерева ускоряющей структуры используется Axis Aligned Bounding Box (AABB). AABB представляет собой параллелепипед со сторонами, параллельными плоскостям, образованным осями координат. Ясно, что такой фигурой достаточно легко ограничить объекты, или отдельные полигоны сцены. Тогда построение ускоряющей структуры представимо как процесс итеративного разбиения узлов дерева AABB (главным узлом дерева является исходный AABB, содержащий всю сцену).

CflWrtEdJodubbu Л hanon J

иноши lhbwow инннеУ з a WHaHiAuEE аэд

EHOL'g

nwoiciy

MOWM№H'E

нзыаанш -suiweu ejj= шнэидеЕ(1 зюаи oHwain 'VcEed^ ь'лзи u'a'cVia Q'QW э^9 ‘cti-u {ша» BSW yvViEdaw^iH У|онч1/Ел|п-зи: эаУи

rtO,i,J-*ilL'FqLrO-mi1 OU Oib 'qiE3 iqg^E

liHcuj эн) ье«и»-&1« fsdAinAJu VB’rraBdmoA'l gg^P aaraDEVi ч s-ds'HffiiXi-n о anViE Ado-фни oih 'iSEWHEC ^aciioj,, ViHaVia сюа HHfriBridaten 'q иомУни □ gg^Y -ИПНЭЕ1Л1 aif ai/Еквн wawc^g

киЗУп

(и ии>Л1/иина«1эйэи зхши nwwBdJodu№u о/е^ен

Рисунок 1. Основной цикл параллельно алгоритма адаптивного построения и траверса ускоряющей структуры (с учетом архитектурных особенностей GPU

Евразийский Союз Ученых (ЕСУ) # 10 (19), 2015 | ТЕХНИЧЕСКИЕ НАУКИ

152

Евразийский Союз Ученых (ЕСУ) # 10 (19), 2015 | ТЕХНИЧЕСКИЕ НАУКИ

СПИСОК ЛИТЕРАТУРЫ :

1. Федоров П.А. «Повышение достоверности измерений при разбраковке изделий микроэлектроники на основе эффективного алгоритма трассировки лучей для получения 3й-сцены.» “Естественные и технические науки”, №9 2015 стр. 123.

2. Федоров П.А., Федоров А.Р. «Предпосылки для разработки параллельного алгоритма и методики осуществления 3d рендеринга в автоматизированных Системах контроля изделий микроэлектроники», II Международная научно-практическая конференция «Информационные технологии естественных и математических наук» (г. Ростов-на-Дону)». / Сбор-

ник научных трудов по итогам международной научно-практической конференции (10 августа 2015г), стр. 14.

3. Аунг Ч.Х., Тант З.П., Федоров А.Р., Федоров П.А. Разработка алгоритмов обработки изображений интеллектуальными мобильными роботами на основе нечеткой логики и нейронных сетей // Современные проблемы науки и образования. - 2014. - № 6; URL: www.science-education.ru/120-15579.(BAK)

4. Федоров А.Р., Федоров П.А. Разработка алгоритмов непредвзятого 3d рендеринга // Современные проблемы науки и образования. - 2014. - № 6; URL: www.science-education.ru/120-15578.(BAK)

ВЫНУЖДЕННЫЕ КОЛЕБАНИЯ ВИБРОИЗОЛИРУЮЩИХ ОПОР ПРИ ПОЛИГАРМОНИЧЕСКИХ ВОЗМУЩЕНИЯХ

Фомичев Павел Аркадьевич,

канд. техн. наук, доцент кафедры инженерной математики НГТУ, доцент кафедры высшей математики НГУЭУ, г. Новосибирск,

Фомичева Елена Валерьевна,

канд. техн. наук, доцент кафедры высшей математики НГУЭУ,

г. Новосибирск,

АННОТАЦИЯ

Рассматриваются вопросы теоретического исследования полигармонических детерминированных вибрационных процессов, происходящих при вынужденных колебаниях виброизолирующих опор нового поколения [1], что необходимо для изучения поведения нелинейной виброизолирующей подвески судового двигателя при действии на нее одновременно всех гармонических составляющих.

ABSTRACT

The issues of theoretical study of polyharmonic vibration - deterministic processes that occur during forced oscillations antivibration mounts a new generation [1] , it is necessary to study the behavior of nonlinear vibration-isolating suspension marine engine by the action on it at the same time all the harmonic components .

Ключевые слова: виброизоляция, вынужденные колебания.

Keywords: vibroisolation, forced oscillations.

Вибрационные возбуждения, с которыми приходится иметь дело при исследовании большинства современных виброзащитных систем, обычно являются полигармоническими. Такие вибрационные процессы могут быть представлены в виде суммы бесконечного (или конечного) числа гармонических компонент n вида [2]: *

* (1 ) = X о +Z Xnsin (nwt + Wn). (1)

n=1

Как видно из (1), полигармонический процесс состоит из постоянной компоненты x0 и бесконечного (или конечного) числа синусоидальных компонент, называемых гармониками, с амплитудами Xn и начальными фазами ц/п. Частоты всех гармоник кратны основной частоте w.

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

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