Методы и средства распараллеливания задач трехмерной сеточной визуализации многомассовых систем тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат наук Копылов, Сергей Юрьевич

  • Копылов, Сергей Юрьевич
  • кандидат науккандидат наук
  • 2013, Воронеж
  • Специальность ВАК РФ05.13.11
  • Количество страниц 137
Копылов, Сергей Юрьевич. Методы и средства распараллеливания задач трехмерной сеточной визуализации многомассовых систем: дис. кандидат наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Воронеж. 2013. 137 с.

Оглавление диссертации кандидат наук Копылов, Сергей Юрьевич

ОГЛАВЛЕНИЕ

1. Обзор математического и программного обеспечения для исследования и визуализации многомассовых систем

с распределенными параметрами

1.1. Особенности модельных представлений многомассовых систем

с распределенными параметрами

1.2. Анализ методов исследования многомассовых систем

с распределенными параметрами

1.3. Обзор методов визуализации многомассовых систем

с распределенными параметрами

1.4. Обзор современных программных и аппаратных средств

для распараллеливания вычислительных задач

1.5. Выводы и постановка цели и задач исследований

2. Разработка математической модели и метода исследования трехмерных многомассовых систем

с распределенными параметрами

2.1. Математическая модель трехмерной многомассовой системы

с распределёнными параметрами и метод ее исследования

2.2. Метод повышения скорости визуализации

трехмерной многомассовой

2.3. Уравнения движения в трехмерной многомассовой системе

2.4 Формирование трехмерной сеточной структуры поверхности

объектов многомассовой системы

2.5. Алгоритм определения взаимодействий между частицами

дискретной среды трехмерной многомассовой системы

Выводы по 2-й главе

3. Разработка алгоритмов и структуры распараллеливания вычислений и визуализации

в трехмерной многомассовой системе

2

3.1. Алгоритм распараллеливания задач с использованием массивно-параллельных вычислений на графических процессорах

3.2. Алгоритм повышения скорости визуализации на основе интероперабельности подсистемы расчета и вывода

3.3. Алгоритм распараллеливания задач операции инициализации метода исследования трехмерной многомассовой системы

3.4. Алгоритм распараллеливания задач операции интегрирования уравнений движения и обнаружения взаимодействий элементов трехмерной многомассовой системы

3.5. Алгоритм распараллеливания задач операции изменения положения в пространстве объектов трехмерной многомассовой системы

3.6. Программные и аппаратные средства трехмерного сеточного исследования многомассовых систем

Выводы по 3-й главе

4. Разработка специального программного обеспечения

и исследование трехмерной многомассовой системы

4.1. Технология виброударного упрочнения как частный случай трехмерной многомассовой системы

4.2. Алгоритмы и структура специального программного обеспечения исследования процессов виброударного упрочнения и виброабразивной обработки

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

4.4. Исследование равномерности и стабильности трехмерного формирования шероховатости в проточных каналах

4.5. Влияние вращения рабочего колеса на равномерность трехмерного формирования шероховатости

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

Выводы по 4-й главе

3

Общие выводы

ч Литература

Приложение 1

Приложение 2

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Методы и средства распараллеливания задач трехмерной сеточной визуализации многомассовых систем»

ВВЕДЕНИЕ

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

Дискретные модели характеризуются большим объемом производимых вычислений, напрямую зависящим от количества элементов системы, которое при реализации модели в трехмерном пространстве увеличивается на 2 порядка. С другой стороны, эти модели позволяют прибегнуть к распараллеливанию задач при их исследовании. Реализация параллельной обработки в виде программы в настоящее время все еще остаётся сложной задачей. Однако в настоящее время активно развивается направление исследований, которое предполагает использовать в качестве сопроцессоров для параллельных вычислений графические процессоры. Такие процессоры имеют многоядерную архитектуру, высокую производительность (до 4.5 ТР1орз), способны запускать одновременно десятки тысяч параллельно исполняемых нитей и, наверно, самым главным их достоинством является сравнительная простота реализации алгоритма в виде программного кода.

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

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

Тематика диссертационной работы соответствует научному направлению ФГБОУ ВПО «Воронежский государственный технический университет» «Вычислительные комплексы и проблемно-ориентированные системы управления».

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

Для достижения поставленной цели необходимо решить следующие задачи:

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

2. Разработать модель трехмерной многомассовой системы и метод ее исследования, обеспечивающие возможность распараллеливания расчета перемещений и взаимодействий отдельных ее элементов.

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

4. Разработать специальное программное обеспечение для исследования трехмерных многомассовых систем с распределенными параметрами с реализацией распараллеливания расчета на базе многоядерных графических процессоров.

5. Провести численное исследование многомассовой системы на примере технологии виброударного упрочнения с экспериментальной проверкой адекватности модели и методов.

Методы исследования. В работе использовались методы конечных разностей, метод дискретных элементов, методы трехмерного моделирования, метод фазовых траекторий, методы теории параллельной обработки данных, методы математической статистики и объектно-ориентированного программирования.

Тематика работы соответствует следующим пунктам паспорта специальности 05.13.11: п 7. «Человеко-машинные интерфейсы; модели, методы, алгоритмы и программные средства машинной графики, визуализации, обработки

/

изображений, систем виртуальной реальности, мультимедийного общения» и п. 8. «Модели и методы создания программ и программных систем для параллельной и распределенной обработки данных, языки и инструментальные средства параллельного программирования».

Научная новизна работы.

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

2. Метод распараллеливания задач при исследовании трехмерных многомассовых систем, отличающийся тем, что расчет перемещений и взаимодействий элементов системы осуществляется независимо от других элементов системы, что обеспечивает сокращение времени расчета от 10 и более раз.

3. Метод повышения скорости визуализации трехмерной многомассовой

системы, отличающийся использованием интероперабельности графической и

7

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

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

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

Реализация и внедрение результатов работы. Результаты исследований используются на ВМЗ филиал ФГУП ГКНПЦ им. М.В. Хруничева для оценки величины удаления дефектов поверхностного слоя, расчета точности формирования поверхности при виброударном упрочнении закрытых каналов крыльчаток.

Апробация работы. Результаты работы докладывались на: ХН-Х1У Всероссийская научно-технич. конф.: Авиакосмические технологии. Воронеж. Москва. ВГТУ. 2010-2013. X международная научно-технич. конф. Управляемые вибрационные технологии и машины. Курск. ЮЗГУ. 2010-2012. Международная научно-технич. конф.: Фундаментальные и прикладные проблемы модернизации современного машиностроения. Липецк. ЛпГТУ. 2012. XV Международная научно-технич. конф. Фундаментальные проблемы техники и технологии. Орел. УНГЖ. 2012. Международная научно-технич. конф.: Новые достижения, практическая реализация и перспективы развития ППД. Ростов-на-Дону. ДонГТУ. 2012-2013.

Публикации. По материалам диссертации опубликовано 11 научных работ, в том числе 3 - в изданиях, рекомендованных ВАК РФ. В работах, опубликованных в соавторстве и приведенных в конце автореферата, лично соискате-

8

лем предложены: в [1, 9] - модель трехмерной многомассовой системы, в [6,7,10] - метод распараллеливания задач при исследовании трехмерной многомассовой системы, в [8,11] - структура специального математического и программного обеспечения, использующее технологию NVidia CUDA для распараллеливания вычислений и ускорения визуализации трехмерных многомассовых систем, в [4,5] - структура БД и алгоритм проектирования многомассовой системы на основе кодирования.

Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения и списка используемых источников из 105 наименований, изложена на 125 страницах машинописного текста и иллюстрирована 42 рисунками 15 таблицами.

1. ОБЗОР МАТЕМАТИЧЕСКОГО И ПРОГРАММНОГО

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

1.1. Особенности модельных представлений многомассовых систем с распределенными параметрами

Многие технические объекты и системы, широко применяемые в настоящее время, представляют собой трехмерные распределенные многомассовые системы. К ним, например, относятся вибротранспортеры, вибромельницы, технологические процессы виброударной обработки и др.

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

а) б)

Рис. 1.1. Виброударная технологическая двухмерная (а) и трехмерная (б)

система как пример многомассовой системы с распределенными параметрами

Совокупность объектов примитивной геометрической формы будем называть дискретной средой (ДС). Количество элементов ДС в 2Б-реализации в среднем равно 3500, в ЗБ-реализации - до 200000 [41].

Сложная форма объектов задается совокупностью элементарных более простых элементов. Характерное среднее количество сплайнов при двухмерной реализации моделирования находится в диапазоне от 100 до 1000. В трехмерной постановке количество элементов каждой треангулированной модели объекта система находится в диапазоне от 1000 до 65000, т.е. разница между 2Т> и ЗБ достигает 2-х порядков, что резко увеличивает требования к производительности вычислительной системы. При этом общность между 2Б и ЗЭ состоит в том, что в обоих случаях модели представлены элементарными составляющими: отрезками и треугольниками соответственно. Такой подход обеспечивает возможность реализации любой конфигурации модели и вычислительную простоту обнаружения коллизий сплайн-гранула в процессе исследования.

Все элементы системы под воздействием внешних сил совершают поступательное или вращательное движение, взаимодействуя друг с другом. Важной особенностью многомассовой системы является быстротечность процессов взаимодействия. Например, время контакта элемента дискретной среды с поверхностью составляет величину порядка 10"4 с [58]. Взаимодействие элементов системы приводит не только к изменению скорости и положения, но и к изменению их качественных характеристик, например, шероховатости поверхности Яг. При наличие огромного количества распределенных в пространстве элементов затруднительно анализировать результаты исследования. Метод визуализации при исследовании должен предоставлять средства для просмотра системы в различном масштабе времени.

1.2. Анализ методов и средств исследования многомассовых систем^-

с распределенными параметрами /

/

Экспериментальное и аналитическое исследование многомассовых систем с распределенными параметрами. Для проектирования и исследования таких систем в 1990-е годы разработаны и применяются методы имитационного моделирования, основанные на их общих свойствах. При имитационном моделировании дискретная среда рассматривается как упруго-вязкое тело. Система исследуется вначале без учета реальных ее свойств [43]. Затем многомассовая система наделяется такими численными значениями упругих и диссипативных свойств, которые обеспечивают наибольшее совпадение теоретических и экспериментальных результатов. Перебором численных значений добиваются наибольшее совпадение теоретических и экспериментальных результатов. Те значения, при которых обеспечивается наибольшее их совпадение условно принимаются за реальные. Метод не учитывает форму детали и имеет в этой связи недостаточную достоверность. Погрешность исследования по технологическим параметрам достигает 100 % и более.

Метод интегральных свойств ДС основан на экспериментально определенных интегральных квазиупругих, диссипативных, зазорных параметрах ДС. Он позволяет более точно определять импульсно-силовые и технологические параметры многомассовой системы. Метод обеспечивает в среднем меньшую погрешность [44] 50-100%. В этом случае для каждой формы объекта необходимо экспериментальное определение свойств, что связано со значительными затратами. Для сокращения затрат на проведение экспериментов, квазиупругие и диссипативные свойства ДС аналитически выражаются через динамические зазоры, которые определяются экспериментально посредством съемки цифровой камерой через прозрачную торцевую стенку контейнера. Здесь учитывается приближенное распределение свойств инструментальной среды в поперечном сечении технологической системы в зависимости от угловой координаты и удалении от детали и контейнера. Время моделирования составляет до нескольких

12

десятков минут. Расчетные значения технологических параметров объектов присваиваются как средние для всей или части поверхности детали. Для каждой детали необходимо экспериментальное определение свойств инструментальной среды, что связано со значительными затратами. Геометрическая модель учитывает лишь габаритные размеры детали и контейнера, поэтому погрешности моделирования по прежнему остаются значительными и составляют 50-100% .

В 2000-х годах, в связи с резким ростом производительности персональных ЭВМ, появились методы исследования, основанные на прямом компьютерном моделировании с помощью событийно управляемых алгоритмов и методами молекулярной динамики (проф. Шевцов С.Н. Ростов-на-Дону, проф. Копылов Ю.Р. Воронеж)[ 44, 75-81]. Методика позволяет исследовать двухмерные системы, состоящие из сотен и тысяч составных элементов. Геометрия элементов системы строится в виде двухмерных контуров, заданных сплайнами 2-й степени. В результате решения уравнений определяются начальные и текущие координаты перемещений частиц, сплайнов детали и контейнера, по которым вычисляются технологические параметры процесса: шероховатость, наклеп и остаточные напряжения, их погрешности. Экспериментальная проверка достоверности математического моделирования виброударного упрочнения силовой балки лонжерона показала погрешности моделирования от 15 до 50%. Метод сплайнового моделирования динамики множества частиц основан на том, что инструментальная среда представляется конечным множеством частиц, а моделирование выполняется в сечениях. Данный метод позволяет, помимо осредненных значений динамических и технологических параметров системы, установить закономерности их распределения на любых участках объектов. Метод сплайнового моделирования реализован в двух мерной и псевдо трех мерной постановках [45, 48, 75].

При двух мерной постановке геометрические модели объектов строятся в

характерном сечении в масштабе, площадь сечений разбивается на ячейки и

«заполняется» частицами ДС. Контуры детали и контейнера разбивается на

сплайны (участки). Методами фазовых траекторий и конечных элементов с

13

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

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

1.3. Обзор методов визуализации многомассовых систем с распределенными параметрами

По способу визуализации многомассовые системы с распределенными параметрами разделяются на 2 класса: двухмерные и трехмерные. Прикладная программа при визуализации двухмерных систем использует средства графического интерфейса ОС, например, в ОС Microsoft (MS) Windows это Graphic Device Interface (GDI) или MS Direct 2D, при визуализации трехмерных многомассовых систем применяются специализированные трехмерные прикладные графические интерфейсы (3D API). В обоих случаях схема взаимодействия приложения с графическим ускорителем при визуализации (рис. 1.2.)

Рис. 1.2. Упрощенная схема взаимодействия прикладного приложения с графическим ускорителем

Важная задача АР1 заключается в предоставлении интерфейса, абстрагированного от конкретного оборудования. Специфические же особенности ГП инкапсулированы в его драйвере (рис. 1.3).

Рис. 1.3. Схема взаимодействия приложения с графическим ускорителем с учетом его драйвера

Так как в настоящей работе решается задача повышения скорости визуализации именно трехмерной многомассовой системы, то в дальнейшем будем рассматривать только 3D API, среди которых в настоящее время широкое распространение получили только две библиотеки: OpenGL и MS Direct3D. OpenGL является стандартом в области профессиональной трехмерной графики. Анализируя возможности указанных библиотек можно сделать следующие выводы:

- обе библиотеки (версии одного и того же периода) предоставляют одинаковые возможности по работе с трехмерной графикой;

- OpenGL является кроссплатформенным API в отличие от MS Direct 3D;

- OpenGL является свободно распространяемым API в отличие от MS Direct 3D, являющимся компонентом ОС MS Windows;

- оба API имеют возможность прямого взаимодействия с технологией NVidia CUDA;

- OpenGL более полно поддерживает обратную совместимость программного кода, в отличие от MS Direct3D;

- автор настоящей работы также придерживается мнения о том, что библиотека OpenGL более проста в применении.

В качестве простого примера задачи на трехмерную визуализацию рассмотрим построение изображения куба при помощи библиотеки OpenGL. Основные действия по отображению 3-х граней куба, видимых из текущей точки наблюдения, выполняет следующий код:

glEnable (GL_LIGHTING); // включение источника света

glEnable(GL_LIGHTO); // выбран первый источник

glBegin (GL_QUADS); // начало визуализации первой грани

glNormal3f(0. О, 0. 0, 1. 0); // внешняя нормаль 1-й грани

glVertex3f(1. 0, 1. 0, 1. 0);

glVertex3f(-1. 0, 1. 0, 1. 0);

glVertex3f(-1. 0, -1. 0, 1. 0);

glVertex3f(1. 0, -1. 0, 1. 0);

glEnd; // конец визуализации первой грани

glBegin(GL_QUADS); // начало визуализации 2-й грани

glNormal3f(-1. 0, 0. 0, 0. 0); // внешняя нормаль второй грани

glVertex3f(-1. 0, 1. 0, 1. 0);

glVertex3f(-1. 0, 1. 0, -1. 0);

glVertex3f{-1. 0, -1. 0, -1. 0)

glVertex3f(-1. 0,-1. 0,1- 0);

glEnd; // конец визуализации второй грани

glBegin(GL_QUADS); // начало визуализации 3-й грани

glNormal3f(0. 0, 1. 0, 0. 0); // внешняя нормаль третьей грани

glVertex3f(-1. 0, 1. 0, -1. 0);

glVertex3f(-1. 0, 1. 0, 1. 0);

glVertex3f(1. 0, 1. 0, 1. 0);

glVertex3f(1. 0, 1. 0, -1. 0);

glEnd... // конец визуализации третьей грани

Анализ приведенного фрагмента показывает, что изображение трехмерного объекта строится из геометрических примитивов - четырехугольников, для которых задаются координаты вершин в трехмерном пространстве. Таким образом, чем сложнее трехмерная сцена (чем больше объектов), тем больше последовательность элементарных команд, и тем ниже скорость воспроизведения (скорость обновления экрана, refresh rate). Дополнительное влияние оказывает размер области отображения: чем больше ее размер, тем больше требуется вычислительных ресурсов для растеризации трехмерной сцены.

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

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

Рис. 1.4. Схема доступа к специфическим расширениям графического ускорителя

В настоящее время известно большое количество расширений - если проинициализировать библиотеку OpenGL и вызвать функцию glGetString() (рис. 1.4), то для современного графического ускорителя мы получим список поддерживаемых им расширений размером на несколько страниц [7]. Такими расширениями, например, являются: поддержка мультитекстурирования ARB_multitexture (наложении нескольких текстур за один проход), аппаратная визуализация тумана EXT_fog_coord, анизотропная фильтрация текстур EXT_texture_filter_anosotropic, поддержка кубических текстур

ARB_texture_cube_map, вершинные буферы ARB_vertex_buffer_object и др. [8].

Среди расширений наибольший интерес представляют так называемые шейдеры (shaders). Шейдер представляет собой подпрограмму, написанную на

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

Существует два основных типа шейдеров - вершинные {vertex program или vertex shader) и фрагментные (пиксельные) {fragment program или fragment shader). Вершинные программы применяются для обработки данных, заданных на уровне отдельных вершин, в то время как фрагментные программы работают на уровне отдельных пикселов [7,8].

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

Фактически все эти операции представляют собой вершинную программу, однако в ней выполняемые операции и их порядок заранее задан и зависит от текущего состояния OpenGL, а не явно задается программистом.

Расширение ARB vertexjprogram предоставляет пользователю возможность явно задавать закон преобразования данных в вершинах при помощи последовательности элементарных операций (команд).

Подобные вершинные программы работают с набором регистров (4-мерных вещественных векторов) и каждая команда осуществляет какую-либо операцию над этими регистрами.

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

Стандратный конвейер OpenGL выглядит следующим образом (рис. 1.5):

Рис 1.5. Стандартный конвейер в OpenGL

Использование вершинных программ позволяет заменить первый блок -преобразование и освещение - на явно задаваемые пользователем вершинные программы. Эти программы дают полный контроль над операциями преобразования, освещения, вычисления текстурных координат, а также дает возможность выполнять другие типы вычислений в вершинах. При этом все вершинные программы полностью выполняются на GPU, не занимая времени центрального процессора [7,8,9].

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

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

Рис 1.6. Вершинная программа и используемые ею регистры.

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

Желательно иметь возможность явно задавать законы обработки данных на уровне отдельных фрагментов (пикселов). Именно такая функциональность и предоставляется рассматриваемым ниже расширений ARB_fragment_program.

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

Фрагментная программа выполняется независимо для каждого фрагмента изображения (в том числе и для точек, линий, растровых изображений).

На следующем рисунке изображена фрагментная программа и различные множества регистров, с которыми она работает.

Рис 1.7. Фрагментная программа и используемые регистры.

Как и вершинная программа, фрагментная программа получает в свое распоряжение несколько наборов регистров (4-х мерных вещественных векторов) - атрибуты самого фрагмента (fragment.*), локальные параметры (program.local [п]) и параметры окружения (program.env [п]). Выходные значения программа записывает в регистры результата (result.*) [7].

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

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Список литературы диссертационного исследования кандидат наук Копылов, Сергей Юрьевич, 2013 год

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

1. Антонов, A.C. Параллельное программирование с использованием технологии MPI [Текст]: учеб. пособие. / A.C. Антонов. - М.: Изд-во МГУ, 2004. - 71 с.

2. Бабицкий, В.И. Теория виброударных систем. Приближенные методы. [Текст] / В.И. Бабицкий. - М.: Наука, 1978. - 352 с.

3. Бьерн Страуструп Язык программирования С++. Специальное издание. Пер. с анг. - М.: Издательство Бином, 2012. - 1136 с.

4. Бабичев А.П., Бабичев И.А. Основы вибрационной технологии. Ростов-на -Дону. ДГТУ, 1998. - 624 с.

5. Багреев В.В. Протекание процесса удара за пределами применимости теории Герца // Изв. АН СССР. Сер. Механика твердого тела. 1968 - № 3.

6. Богульская H.A. Моделирование поведения гранулированной среды в подвижных сосудах: дис. на соискание уч. степ, к-та физ.-мат. наук. Красноярск: Сибирский федеральный университет, 2011. - 118 с.

7. Боресков A.B. Расширения OpenGL. - СПб.:БХВ-Петербург, 2005. -688 с.

8. Боресков A.B. Разработка и отладка шейдеров. - СПб .: БХВ-Петербург, 2006. - 496 с.

9. Боресков A.B. Графика трехмерной компьютерной игры на основе OpenGL. - M.: ДИАЛОГ-МИФИ, 2004. - 384 с.

10. Боресков A.B., Харламов A.A. Основы работы с технологией CUDA. -М.: ДМК Пресс, 2010. - 232 с.

11. Боярченков A.C., Поташников С.И. Использование графических процессоров и технологии CUDA для задач молекулярной динамики. Вычислительные методы и программирование: новые вычислительные технологии. 2009. Т. 10.№ 1. С. 9-23.

12. Вадзинский Р.Н. Справочник по вероятностным распределениям. -СПб.: Наука, 2001.-295 с.

13. Вибрации в технике: Справочник. В 6 т. / Под ред. В.Н. Челомей (пред.)

- M.: Машиностроение, 1980. - Т.4. - 509 с.

14. Вивденко Ю.Н. Влияние наследственных и вносимых обработкой остаточных напряжений, на коробление дисков газотурбинных двигателей. Авиационная промышленность. // 1988. - №2 - С. 15.

15. Вирт Н. Алгоритмы + структуры данных = программы: Пер. с англ. - М.: Мир, 1985.-406 с.

16. Галин Л. А. Контактные задачи теории упругости и вязкоупругости. -М.: Наука, 1980.-303 с.

17. Гергель В.П. Теория и практика параллельных вычислений: учебное пособие. - М.: Интернет-Университет Информационных Технологий. БИНОМ. Лаборатория знаний, 2007. - 423 с.

18. Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для много процессорных вычислительных систем. Учебное пособие - Нижний Новгород: изд-во ННГУ им. Н.И. Лобачевского, 2003. - 184 с.

19. Гмурман В.Е. Теория вероятностей и математическая статистика: учеб. пособие для вузов / В.Е. Гмурман. - 10-е изд., стер. - М.: Высш. шк., 2004. - 479 с.

20. Гольдсмит В. Удар. Теория и физические свойства соударяющихся тел.

- М.: Стройиздат, 1965. - 448 с.

21. Гулд X., Тобочник Я. Компьютерное моделирование в физике. - М.: Мир, 1990. Т. 1-2.

22. Дорофеенко С.О. Моделирование сыпучих сред методом дискретных элементов: дис. на соискание уч. степ, к-та физ.-мат. наук. Черноголовка: РАН Институт проблем химической физики, 2008. - 114 с.

23. Дэвидсон Л. Проектирование баз данных на SQL Server 2000 / Л. Дэвидсон; пер. с англ. - М.:БИНОМ. Лаборатория знаний, 2003. - 680 с.

24. Игнатов М.И., Певный А.Б. Натуральные сплайны многих переменных. Наука, 1991. - 127 с.

25. Казённов A.M. Основы технологии CUDA. Компьютерные исследова-

128

ния и моделирование. 2010. Т. 2. № 3. С. 295-308.

26. Качество машин: Справочник. В 2 т. Т.1/ А.Г. Суслов, Э.Д. Браун, H.A. Виткевич и др. - М: Машиностроение, 1995. - 256 с.

27. Касимов В.Г. Предотвращение коробления пера лопатки в процессе дробеструйного упрочнения. // Авиационная промышленность. - 1990. - №11-С. 22.

28. Киричек A.B., Соловьев Статико-импульсные виброударные технологические системы. Москва, 2005. - 267 с.

29. Клишин C.B. Применение метода дискретных элементов при анализе гравитационного движения гранулированного материала в сходящемся канале. Горный информационно-аналитический бюллетень (научно-технический журнал). 2009. № 12. С. 273-277.

30. Кобринский А.Е., Кобринский A.A. Двумерные виброударные системы. - М.: Наука, 1981. - 335 с.

31. Копылов А. Ю. Исследование равномерности виброабразивной обработки силовой балки // Механизмы и машины ударного, периодического и вибрационного действия: Тр. 2-го Междунар. науч. симпозиума. Орел: ОРГТУ. 2003. С. 145-148.

32. Копылов, С.Ю. Трехмерное численное моделирование процесса виброударного упрочнения центробежной крыльчатки [Текст] / С.Ю. Копылов // Фундаментальные исследования. - 2013. - № 8. № 8-2. - С. 286-290.

33. Копылов, С.Ю. Трехмерное формирование шероховатости при виброударном упрочнении проточных каналов рабочего колеса компрессора [Электронный ресурс] / С.Ю. Копылов // Современные проблемы науки и образования. -2013.-№ 5 URL: http://wwvv.science-education.ru/l 11-10276

34. Копылов, Ю.Р. Трехмерное моделирование виброударного упрочнения с использованием программной платформы CUDA [Текст] / Ю.Р. Копылов, С.Ю. Копылов // Фундаментальные и прикладные проблемы техники и технологии. -2012. - № 2-6 (292). - С. 100-105.

35. Копылов, Ю. Р. Интеллектуальная система подготовки производства на базе конструкторско-технологического кодирования [Текст] / Ю.Р. Копылов, С.Ю. Копылов // Труды XI Всероссийской научно-технической конференции и школы молодых ученых, аспирантов и студентов. Научные исследования в области транспортных, авиационных и космических систем. - АКТ-2010 - Воронеж. -2010.-С. 65-68..

36. Копылов, Ю. Р., Компьютерное проектирование технологий виброударного упрочнения на основе кодирования [Текст] / Ю.Р. Копылов, С.Ю. Копылов // Сб. науч. статей в 2-х частях IX научно-технической конференции «Управляемые вибрационные технологии и машины». - Курск. - 2010. - Ч. 2. - С. 197-201.

37. Копылов, Ю.Р. Трехмерное моделирование виброударного упрочнения с использованием программной платформы CUDA [Текст] / Ю.Р. Копылов, С.Ю. Копылов // Фундаментальные и прикладные проблемы техники и технологии. Сб. докладов XI междунар. конф. - Орел. Госуниверситет-УНПК. - 2012. - С. 222224.

38. Копылов, Ю.Р. Исследование стабильности виброударного упрочнения с использованием параллельных трехмерных вычислений [Текст] / Ю.Р. Копылов, С.Ю. Копылов, A.B. Глазков // Вопросы вибрационной технологии: межвуз. сб. науч. ст. - Ростов на Дону. ДГТУ. - 2012. - С. 26-31.

39. Копылов, Ю.Р. Моделирование стабильности виброударного упрочнения деталей сложной формы [Текст] / Ю.Р. Копылов, С. Ю. Копылов, A.B. Глазков // Механика ударно-волновых процессов в технологических системах. Сб. науч. тр. межд. конф. - Ростов-на- Дону. ДГТУ. - 2012. - С. 127-131.

40. Копылов, Ю.Р. К теории трехмерного моделирования виброударного упрочнения [Текст] / Ю.Р. Копылов, С.Ю. Копылов // Фундаментальные и прикладные проблемы модернизации современного машиностроения и металлургии: сб. науч. тр. междунар. конф. Ч. 1. - Липецк. ЛГТУ. - 2012. - С. 182-186.

41. Копылов, Ю.Р. Развитие сплайнового моделирования процессов виброударного упрочнения на основе метода дискретных элементов [Текст] / Ю.Р. Ко-

130

пылов, С.Ю. Копылов // Наукоемкие комбинированные и виброволновые технологии обработки материалов, сборник Международной научно-технической конференции. -Ростов-на-Дону: изд. Центр ДГТУ. - 2013. - С. 14-20.

42. Копылов, Ю.Р. Влияния вращения на трехмерное распределение шероховатости в проточных каналах крыльчатки при виброударном упрочнении [Текст] / Ю.Р. Копылов, С.Ю. Копылов // Труды XIV Всероссийской научно-технической конференции и школы молодых ученых, аспирантов и студентов. Научные исследования в области транспортных, авиационных и космических систем. АКТ-2013. - Воронеж. 2013. - С. 152-157

43. Копылов Ю.Р. Виброударное упрочнение. Воронеж. ВИМВД. 1999. -

386с.

44. Копылов Ю.Р. Динамика процессов виброударного упрочнения : монография / Ю.Р. Копылов - Воронеж : ИПЦ «Научная книга», 2011. - 568 с.

45. Копылов Ю.Р., Попов A.A. Численное моделирование динамических параметров процесса виброударного упрочнения деталей сложной формы. Вестник Орловского государственного технического университета. Серия: Машиностроение. Приборостроение. 2004.

46. Копылов Ю.Р., Шевцов С.Н., Попов A.A., Сорокин A.B. Воздействие расположения детали на скоростные и технологические параметры процесса виброударной обработки. Межвуз. сб. науч. статей. Вопросы вибрационной технологи. Ростов на Дону. ДГТУ. 2004.

47. Копылов. Ю.Р., Попов A.A. Моделирование виброабразивной обработки межлопаточной зоны центробежной крыльчатки. Сборник научных трудов по материалам 7-ой Международной научно-технической конференции "Вибрационные машины и технологии". Издание КГТУ. Курск. 2005. С. 200-203.

48. Копылов. Ю.Р., Попов A.A. Моделирование процесса виброабразивной обработки центробежной крыльчатки. Труды 3-й Международной научно-технической конференции "Разработка, производство и эксплуатация турбо -,

электронасосных агрегатов и систем на их основе. СИНТ-05". Воронеж. 2005. С. 231-234.

49. Краснов М.В. OpenGL. Графика в проектах Delphi. - СПб.: БХВ-Петербург, 2002. -352 е.: ил.

50. Левин М.П. Параллельное программирование с использованием ОрепМР: учебное пособие / М.П. Левин. - М.: Интернет-Университет Информационных Технологий: БИНОМ. Лаборатория знаний, 2012, - 118 с.

51. Логинова Н.Б. Исследование динамики гранулированных сред: дис. на соискание уч. степ, к-та физ.-мат. наук. Москва: Московский государственный университет путей сообщения, 2004. - 136 с.

52. Лупин С.А., Посыпкин М.А. Технологии параллельного программирования. - М.: ИД «Форум»: ИНФРА-М, 2011, - 208 с.

53. Мицык В.Я. Общий подход к процессам микрорезания и упругопласти-ческого деформирования при обработки свободными рабочими средами в вибрирующем резервуаре Весник Восточноукраинского Национального Университета имени Владимира Даля №7 (113) 2007 с 176-184.

54. Нагаев Р.Ф. Механические процессы с повторными затухающими соударениями. - М.: Наука, 1980. - 344 с.

55. Отделочно-упрочняющая обработка деталей многоконтактным виброударным инструментом. Бабичев А.П., Мотренко П.Д. и др. - Ростов-на-Дону: ДГТУ, 2003. - 2003. - 192 с.

56. Пановко Я.Г. Введение в теорию механического удара. - М.: Наука, 1977.-223 с.

57. Петряев A.A., Тамаркин М.А., Шевцов С.Н. Технологические приложения нестационарных задач динамики бинарных гранулированных сред. Труды междунар. конф. Изд. ДГТУ, Ростов-на-Дону, 2001, т. 1. С. 226-228.

58. Петряев A.A., Тамаркин М.А., Шевцов С.Н. Прямое моделирование динамики гранулированных сред в некоторых технологических процессах. 8-й всероссийский съезд по теоретической и прикладной механике. Аннотации докладов.

132

Изд. УрО РАН, Екатеринбург, 2001, - С. 485.

59. Пирумов У.Г. Численные методы. Учебное пособие - М. Изд-во МАИ, 1998,- 188 с.

60. Плявниекс В.Ю. Косое соударение двух тел // Вопросы динамики и прочности. - Рига: Зинатне, 1969. - Вып. 19.

61. Поляков А.Ю. Методы и алгоритмы компьютерной графики в примерах на Visual С++. - СПб.: БХВ-Петербург, 2002. - 416 с.

62. Мэрдок К. 3DS Мах 2012. Библия пользователя (+ CD-ROM) Диалектика, Вильяме, 2012. - 1294 с.

63. Емельянов С.Г., Кудряшов Е.А., Яцун Е.И., Павлов Е.В., Чевычелов С.А., Сергеев С.А. Нормирование точности в машиностроении: учебное пособие / С.Г. Емельянов, Е.А.Кудряшов, Е.И. Яцун [и др.] - Старый Оскол: ТНТ, 2013. -440 с.

64. Черняев Н. Оценка стабильности технологического процесса, Техника и технологии,,стр. 51-53

65. Самарский A.A., Гулин A.B. Численные методы математической физики, 2-е изд. М.: Научный мир, 2003, - 316 с.

66. Сандерс Дж., Кэндрот Э. Технология CUDA в примерах. Введение в программирование графических процессоров. 2011. - 232 е.: ил.

67. ГОСТ Р 50779.42-2001. Статистические методы. Показатели возможностей процессов. Основные методы расчета. [Текст]

68. Сызранцев В.Н., Сызранцева К.В. Расчет напряженно-деформированного состояния деталей методами конечных и граничных элементов: Монография. - Курган: Изд-во Курганского гос. ун-та, 2000. - 111с.

69. Тамаркин М.А. Технологические основы разработки САПР ТП обработки деталей свободным абразивом. // Вопросы вибрационной технологии: Сб. науч. тр. ДГТУ. Ростов-на-Дону, 1996. С. 68-73.

70. Фаронов В. Программирование баз данных в Delphi 6. Учебный курс

(+дискета). - СПб.: Питер, 2002, - 352 с.

133

71. Халпери П. Стандартная бибилиотека С++ на примерах. :Пер. с англ.: -М.: Издательски дом «Вильяме», 2001, - 336 с.

72. Хокни Р., Иствуд Дж. Численное моделирование методом частиц: Пер. с англ. - М.: Мир, 1987. - 640 с,

73. Хьюз К., Хьюз Т. Параллельное и распределенное программирование на С++ .: пер. с англ. - М.: издательский дом «Вильяме», 2004. - 672 с.

74. Хэзвилд Р., Кирби JI. Искусство программирвоания на С. Фундаментальные алгоритмы, структуры данных и примеры приложений. Энциклопедия программиста.: пер. с англ. / Хэзвилд Р., Кирби JI. и др. - К.: издательство «Диасофт», 2001.-736 с.

75. Шевцов С.Н. Компьютерное моделирование динамики гранулированных сред в вибрационных технологических машинах. Ростов-на-Дону, 2001. - 194 с.

76. Шевцов С.Н., Петряев A.JL, Савченко И.Л., Машинное моделирование динамики технологических гранулированных сред при отделочной обработке // Материалы Междунар. науч.-техн. семинара Высокие технологиии в машиностроении. - Харьков: ХГПУ, 1999. - С. 78-80.

77. Шевцов С.Н., Горбунов H.H., Петряев А.А, В.Н.Аксенов., Моделирование ударной волны в уплотненной гранулированной среде., Автоматизация и информатизация в машиностроении. Сб.тр.1 электрон, междунар. науч.-техн. конф. Тула, 2000

78. Шевцов С.Н., Петряев A.A., Моделирование динамики гранулированных сред в вибрационных технологических машинах на стадии предпроектных исследований, Качество машин. Сб.тр .IV междунар. науч.-техн.конф. БГТУ, Воронеж. 2001, т.1, с.100-102.

79. Шевцов С.Н., Петряев A.A., Численное моделирование динамики гранулированных сред в технологических машинах. Современные проблемы механики сплошной среды. Труды VI междунар. конф. Изд. СКНЦ ВШ, Ростов-на-Дону, 2001, т.1, с.236-243.

80. Шевцов С.Н., Петряев A.A., Технологические приложения некоторых

134

нестационарных задач динамики бинарных гранулированных сред. Динамика технологических систем. Труды междунар. конф. Изд. ДГТУ, Ростов-на-на-Дону, т.1, с.220-228.

81. Шевцов С.Н., Петряев А.А., Прямое моделирование динамики гранулированных сред в некоторых технологических процессах, VIII всероссийский съезд по теоретической и прикладной механике. Аннотации докладов. Изд. УрО РАН, Екатеринбург, 2001, с.485.

82. Шевцов С.Н., Петряев А.А., Программа моделирования динамики быстрых движений гранулированных сред СгапМо8. Свид. об официальной регистрации программы для ЭВМ №2000610902, Российское агентство по патентам и товарным знакам (Роспатент) от 14.09.2000

83. Шикин А.В., Боресков А.В. Компьютерная графика. Полигональные модели. - М.: Диалог-МИФИ, 2001. - 464 с.

84. Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования: пер. с англ. -М.: издательский дом «Вильяме», 2003, 512 с.

85. Wl. Anitescu М., Potra F.A. Formulating dynamic multi-rigid-body contact problem with friction as solvable linear complementarity problem // Nonlinear dynamics, 1997.-Vol.14.-pp.231-247.

86. Bagnold R.A. Experiments on gravity-free dispersion of large solid spheres in a Newtonian fluid under shear. Proc. Ray. Soc. Vol 255, pp 49-63

87. Bizon С et al. Patterns in 3D vertically oscillated granular layers: simulation and experiment // Phys. Rev. Lett. - 1998. - Vol.80. - No.l. - pp.57-60.

88. Brach R.M. Mechanical impact dynamic: Rigid body collisions. - New York: John Wiley & Sons, 1991. -126 p.

89. Campbell C.S. Computer simulation of power flows, Proc 10th US National Congress of Appl. Mech., pp327-338.

90. Ciavarella M. Tangential loading of general three-dimensional contacts //Trans. ASME. J. Appl. Mech.- 1998 (Dec).- Vol.65.- pp.998-1003.

91. CUDA С Best Practices Guide. -Version 3.2. - NVIDIA Corporation, 2010. -

135

http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CUDA_C__Best_ Practices_Guide.pdf

92. CUDA C Programming Guide. -Version 3.2. - NVIDIA Corporation, 2010. -http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CUDA_C_Progra mming_Guide.pdf

93. Cundall P.A. and Strack O.D.L. A discrete numerical model for granular assemblies // Geotechnique,- 1979.- Vol. 29,- No. 1,- pp. 47-65.

94. Cundall P.A. Formulation of a three-dimensional distinct element model -Part I. A scheme to detect and represent contacts in a system composed of many polyhedral blocks // Int. J. Rock Mech. Min. Sci. and Geomech. Abstr.- 1988,-Vol. 25,-No. 3.-pp. 107-116.

95. Kumaran V. Velocity distribution function for a dilute granular material in sheer flow. J.Fluid.Mech. 1997-340 - p.319 - 341.

96. Luding S., Herrmann H.J., and Blumen A. Simulations of two-dimensional arrays of beads under external vibrations: scaling behavior // Phys, Rev. E.- 1994.-Vol.50.-No. 4.-pp. 3100-3108.

97. Luding S. Granular material under vibration: Simulation of rotating spheres // Phys.Rev.E.- 1995.-Vol.52.-No.4.- pp.4442-4457

98. Luding S., Clement E., Blumen A., Rajchenbach J., Duran J. Onset of convection in molecular dynamics simulations of grains, // Phys. Rev. E. - 19946. - Vol. 50. -P.R1762-R1765.

99. Luding S., Clement E., Blumen A., Rajchenbach J., Duran J. Anomalous energy dissipation in molecular-dunamics simulations of graints: The «detachment» effect. // Phys. Rev. E. - 1994b. - Vol. 50. - P. 4113-4122.

100. Luding S., Herrmann H.J., Blumen A. Simulations of two-dimensional arrays of beads under external vibrations: Scaling behavior. // Phys. Rev. E. - 1994 r. -Vol. 50.-P. 3100-3108.

101. Rosato A., et al., Monte Carlo simulation of particulate matter segregation. Powder Tech., Vol 40. pp 59-69.

102. Shinbrot, T. et al. A Simple model for granular convection // Phys. Rev. Lett.- 1997.-Vol. 79.- No.5.- pp. 829-832.

103. Shwartz L.M., Jonson, D.L., Feng S. Vibrational Modes in Granular Materials. Phys.Rev.Lett. 1984, 52, pp.8 31-834.

104. Thornton C Coefficient of Restitution for Collinear Collisions of Elastic-Perfectly Plastic Spheres // Trans. ASME. J. Appl. Mech.- June 1997,- Vol. 64.-pp. 383386.

105. Yokomichi I. et al. Impact Damper with Granular Materials for Multibody System // Trans. ASME, J. Pressure Wessel Technol,- 1996.-Vol. 11.- pp.95-109.

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