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

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

Автореферат диссертации по теме "Методы и средства распараллеливания задач трехмерной сеточной визуализации многомассовых систем"

На правах рукописи

КОПЫЛОВ Сергей Юрьевич

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

Специальность: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

21 НО Я 2013

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

Воронеж-2013

005539603

005539603

Работа выполнена в ФГБОУ ВПО «Воронежский государственный технический университет»

Научный руководитель Копылов Юрий Романович, доктор

технических наук, профессор, Воронежский государственный технический университет, профессор кафедры «Технология машиностроения»

Официальные оппоненты: Кургалин Сергей Дмитриевич, доктор физико-математических наук, профессор, Воронежский государственный университет, заведующий кафедрой цифровых технологий;

Авсеева Ольга Владимировна, кандидат технических наук, доцент, Воронежский государственный университет инженерных технологий, доцент кафедры информационных технологий моделирования и управления

Ведущая организация ФГБОУ ВПО «Тверской государ-

ственный технический университет»

Защита состоится 12 декабря 2013 г. в 11— часов в конференц-зале на заседании диссертационного совета Д 212.037.01 ФГБОУ ВПО «Воронежский государственный технический университет» по адресу: 394026, г. Воронеж, Московский просп., 14

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

Автореферат разослан «12» ноября 2013 г.

Ученый секретарь диссертационного совета

Барабанов В. Ф.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

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

гомассовых систем, метод ее исследования и визуализации.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Апробация работы. Основные положения работы докладывались и обсуждались на следующих конференциях: XII-XIV Всероссийских научно-технических конференциях: «Авиакосмические технологии». (Воронеж, Москва, 2011-2013). X Международной научно-технической конференции «Управляемые вибрационные технологии и машины». (Курск, 2012); Международной научно-технической конференции «Фундаментальные и прикладные проблемы модернизации современного машиностроения» (Липецк, 2012); XV Международной научно-технической конференции «Фундаментальные проблемы техники и технологии» (Орел, 2012); Международной научно-технической конференции «Новые достижения, практическая реализация и перспективы развития ППД» (Ростов-на-Дону, 2012-2013).

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

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

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

щие методы исследования: аналитический метод интегральных оценок, основанный на осредненных данных о параметрах многомассовой системы; методы двухмерного и псевдо трёхмерного исследования, основанные на дискретных моделях системы. Визуализация многомассовых систем выполняется двумя способами: стандартными средствами графической подсистемы операционной системы (например, GDI Windows) или с помощью использования специализированной графической библиотеки (например, OpenGL). По результатам анализа делаются следующие выводы:

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

• наиболее точно многомассовые системы описываются дискретными моделями;

• при реализации исследований в трехмерной постановке количество элементов многомассовой системы увеличивается на 2 порядка, что необходимо учитывать как в методе исследования, так и в методе визуализации;

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

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

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

Исследуемый объект представляет собой трехмерную много-

массовую нелинейную динамической систему. Модель ее дискретна, она представляет собой множество объектов S различной трехмерной формы. Такое множество состоит из подмножества Р объектов примитивной трехмерной формы и подмножества О объектов сложной трехмерной формы. При этом справедливы утверждения:

PuO = S; (1)

РпО = 0; (2)

PcS; (3)

OcS; (4)

| О | +1 Р |= n (5)

Для трехмерной многомассовой системы характерно следующее неравенство |Р| »|0|.

На элементы системы действует возмущение, задаваемое функцией g(t). Это воздействие приводит к тому, что трехмерная многомассовая система развивается во времени и в каждый момент времени пребывает в некотором состоянии, называемом фазой. Фаза характеризуется точкой в z-мерном пространстве, которая, в свою очередь, полностью и однозначно определяет состояние системы в данный момент времени.

Алгоритм способа исследования трехмерной многомассовой системы (рис. 1) на основе метода фазовых траекторий (ФТ) состоит из следующих шагов:

Шаг 1. Инициализация системы. Задание ее начального положения в фазовом пространстве. Сложность шага по времени О, (п).

Шаг 2. Применение некоторого воздействия (возмущения) на систему. На данном шаге ко всем элементам системы применяется определенное преобразование, изменяющее свойства элементов системы. Сложность шага по времени О, (п) .

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

в наилучшем и наихудшем случае Ot(n-log(n)) и Ot(n2) соответственно.

Шаг 4. Фиксация нового фазового портрета в хранилище, если это требуется на данном шаге процесса. Здесь происходит сериали-

зация каждого элемента системы. Сложность шага Ot(n) .

Шаг 5. Визуализация текущей точки ФТ. На этом шаге происходит отображение всех п элементов системы. Сложность О, (п) .

Рис. 1. Алгоритм метода исследования трехмерных многомассовых систем

Шаг 6. Переход на шаг 2, либо по достижении заданного количество шагов цикла к завершение.

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

В связи с быстротечностью развития исследуемых процессов в диссертации разработан метод визуализации с различным масштабированием времени. Масштаб времени при визуализации соответствует правильному человеческому восприятию.

Типовой алгоритм визуализации трехмерной многомассовой системы (рис. 2) состоит из 3-х шагов:

Шаг 1. Формирование потока команд и данных визуализации с посылкой их в интерфейс 3D API (OpenGL). Сложность Ot(n) .

Шаг 2. Преобразование потока команд драйвером в набор низкоуровневых инструкций и их посылка в ГП.

Рис. 2. Типовой метод визуализации текущего состояния многомассовой системы

Шаг 3. Обработка конвейером ГП потока команд и формирование изображения.

Основные недостатки типового подхода:

• При увеличении п увеличивается объем данных и время пересылки Ц с устройства расчета в устройство визуализации.

• При увеличении п возрастает общее число команд ЗО АР1, описывающих каждый элемент системы, что приводит к увеличению времени , \.г и замедлению отображения всей системы.

Для устранения указанных недостатков разработан метод повышения скорости визуализации (рис. 3), основанный на тесном взаимодействии устройств расчета и вывода. Данные системы являются разделяемыми и хранятся в памяти устройства расчета, которое одновременно является и устройством вывода.

Временные задержки ^ , Ц, ^ сокращаются из-за отсутствия

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

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

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

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

Метод исследования разбивается на блоки — операции, в рамках каждой из которых однотипные задачи над элементами системы выполняются параллельно. Под термином «устройство» будем понимать графический процессор (ГП), на котором выполняются массивно-параллельные вычисления, под «хостом» - всю остальную структуру ВС, под «сеткой» (grid) текущую конфигурацию параллельно исполняемых потоков на устройстве. ГП рассматривается как конфигурируемый «черный ящик», на вход которого подаются специальным образом отформатированные данные и команда запуска, которая одновременно применяется к отдельным блокам данных, изменяя их, либо формируя на их основе новый массив данных. Алгоритм операции с распараллеливанием задач (рис. 4) состоит из 9 шагов.

Шаг 1. Инициализация общих переменных расчета на хосте.

Шаг 2. Инициализация расчетных структур на хосте (указателей в адресном пространстве общей ОЗУ ВС, m_hData,...). Под расчетными структурами понимаются одномерные массивы с количеством элементов, равным п • s, где п - количество элементов системы, s - количество элементов, описывающих определенную сущность элемента системы. Расчетная структура должна быть построена таким образом, чтобы доступ на запись i-й нити сетки был эксклюзивным к j-му блоку данных.

Шаг 3. Инициализация аналогичных структур на устройстве (указателей в адресном пространстве глобальной ОЗУ устройства, m_dData,...).

Шаг 4. Копирование структур из ОЗУ хоста в глобальную па-

мять устройства.

Шаг 5. Копирование общих переменных расчета из ОЗУ хоста в константную память устройства. Данные константной памяти доступны для чтения сразу для всех нитей ядра.

Шаг 6. Определение конфигурации сетки устройства в зависимости от особенностей текущей обрабатываемой структуры данных: размерности сетки блоков пь (структура, тип dim3) и количества ее элементов по каждому измерению, размерности массива нитей блока nt (структура, тип dim3) и количества его элементов по

каждому измерению.

Шаг 7. Запуск в указанной конфигурации функции-ядра на

устройстве: kernel <«nb, nt»> (m_dData,....). Функцию ядра запускает хост, а исполняет устройство. Функция ядра объявляется со спецификатором_global_.

Начало

Инициализация общих племенных на хосте hParams.x=a; hParams.y^b..

Выделение памяти под обрабатываемую структуру на хосте

m_h03ta = new float [nsizej

Выделение памяти под обрабатываемую структуру иа устройстве

attocateArray({voHi**)&rTi_dData, nsize);

Копирование данных с хоста в глобальную память устройства cooyArrayToDevice(m_dData, m hData, 0, nsize);

Копирование общих переменных в устройство cudaMeir,cpyToSymbo»(dParams. hParams, psize)

Запуск функции ядра kerne!««пь, т (m_.dData,...)

bx « blockldx.x; НО tx=Jhreadldx,x: И О id* = f{bx. tx);

m_dDataf<dx]=... _▼_

bx= bk>ckldx,x;//0 tx = tfireadidx.x; i; 1 idx я f(bx. tx);

m_dData[idx]=... _j_

bx = bfocMdx.x;/7rtt>-i tx * threadldx x;/-'n»- < kjx = fibx. tx);

m_dData(idx]-..

Определение конфигурации

сетки в зависимости от структуры обрабатываемых данных пь. г*

Копирование обработанных данных с устройства на хост ! copyArrayFromDevice(m_hData. m^dData, 0, nsize):

.........Г.........

Конец

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

Шаг 8. Обработка в каждом экземпляре функции-ядра выделенного элемента входных данных с внутренней синхронизацией потоков (_synchtreads()) и записью в выходную структуру.

Шаг 9. Копирование выходной структуры из глобальной памяти устройства в ОЗУ хоста для последующей обработки.

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

Рис. 5. Алгоритм метода повышения скорости визуализации трехмерных многомассовых систем

Алгоритм метода (рис. 5) состоит из следующих шагов:

1. Инициализация ГП для совместного использования CUDA С и OpenGL посредством вызова функции cudaGLSetGLDevice. Инициализация контекста вывода.

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

3. Подготовка подпрограммы обработки вершин на ГП.

4. Запуск цикла «расчет-визуализация». В цикле происходит вызов ядра integrate(), которое изменяет массив posVBO, и подпрограммы обработки вершин, которая отображает дискретную среду на основе данных posVBO.

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

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

Программный комплекс исследования ВУ имеет следующую структуру (рис. 6): серверная часть - программно-аппаратный комплекс моделирования динамики ВУ (программа VibroImpact-3D) и клиентское приложение (Epure-3D) анализа динамических характеристик ВУ.

Рис.6. Структура программного обеспечения для исследования трехмерных многомассовых систем с распараллеливанием вычислений на ГП

В структуре алгоритма программы УШкЯтра^-ЗВ (рис. 7) выделены операции инициализации, интегрирования уравнений ди-

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

Рис. 7. Блок-схема алгоритма исследования трехмерной многомассовой системы методом дискретных элементов и фазовых траекторий

Шаг 1. Инициализация выполняется в последовательности:

а) чтение настроечного файла (параметр запуска -соп^д-Ше).

б) определение С1ЮА-устройств и выбор самого производительного из них по версии архитектуры ГП и по производительности устройства Р следующим образом:

Р = тр х срт х Т, ОРЬОРБ ^

где тр - количество мультипроцессоров ГП, ерш - количество ядер в одном мультипроцессоре, f -частота процессора, ГГц.

в) инициализация графической подсистемы. В качестве графической библиотеки используется OpenGL (glut) v.3.2. Также здесь осуществляется настройка взаимодействия OpenGL и CUDA для реализации ускоренной визуализации системы.

г) подключение к источнику данных и создание структуры базы данных - таблиц и хранимых процедур - посредством выполнения SQL-запросов к БД.

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

Шаг 2. Интегрирование уравнений движения. Для каждой частицы вычисляется результирующая сила, после чего интегрируются уравнения движения для определения новых значений скорости, координаты положения частицы. Данный шаг выполняется на ГП. Функция ядра называется integrate().

Шаг 3. Определение пар взаимодействующих частиц. Поиск ближайших соседей осуществляется построением однородной сетки.

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

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

Шаг 5. Расчет сил взаимодействия частицы с другими частицами на ГП. Функция ядра называется collide().

Шаг 6. Обновление информации о потенциальных контактах.

Шаг 7. Сохранение информации в базу данных через заданное количество шагов итерационного алгоритма.

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

Основными возможностями программы «VibroImpact-3D» являются: симуляция динамики системы с сохранением информации в БД; просмотр динамики системы; просмотр системы в разрезе; цветовая визуализация скорости и энергии частиц; возможность просмотра развития во времени процесса взаимодействия ДС и трехмерной сетки объектов системы; просмотр в двухмерных проекциях; цветовая визуализация технологических параметров

поверхности; интерактивное выделение участка поверхности с отображением параметров этого участка. Программа написана на языке С++ в среде MS Visual Studio 2008 SP1 с установленными пакетами nVidia CUDA SDK v.3.2 и nVidia CUDA Toolkit v.3.2, отладчиком nVidia Parallel nSight v. 1.5, компилятором кода nvcc, исполняемого на ГП.

Программа «Epure-3D» предназначена для анализа динамических параметров трехмерной многомассовой системы, а также подготовки табличных данных для последующей обработки в программе Statistica. Структурно она состоит из 5 модулей (рис.8).

i

[ Модуль настройки и запуска VibroimpacI-SD |

uSimCustam

Модуль экспорта дачных s Stats soca

uCateSquares

Главный модуль Рол/гятгцяи ю ЛОвОКО-ЫЗШИНШУГО Модуль данных

интерфейса uösta

те*■■«»<•© i_J

егп«*;. Компоненты ТЙЯ®

i| СЫнШЗсх- ; f iAOOQuery

rp^mx». I / I с НдяЮа» "ADOSat'erf^ec

•Snspectof - нзсгрсйка : »

j е.'зуагтвных свойств;/ «ha flP;«v>e«iw f

Модуль визуализации табличной

:- d'&graPa^sms

N —------------------- «OSVfBw

Ч ОЗЁС j

i.". . г. " - 'J"j7' Sbg-i л Звдо

файл MS Excel 97-2003 : файл форме та CSV

Рис. 8. Структурная схема программы Epure-3D

а) б)

Рис. 9. Интерфейс программ «Vibrolmpact-3D» (а) и «Epure-3D» (б)

К исследуемым динамическим характеристикам системы относятся траектории и скорости отдельных частиц и центра масс ДС, распределение скоростей и энергий ДС и др. Программа «Epure-3D» написана на языке Delphi, в среде Embarcadero Delphi 2010/ХЕ2 х64. Для визуализации графиков используется программеный пакет TeeChart v.8.06.6.

В заключение четвертой главы приведена методика экспериментальной проверки достоверности результатов исследования, дано описание оборудования, приспособлений, деталей и инструментальных сред. К исследуемым параметрам относятся шероховатость поверхности Rz, величина остаточных сжимающих напряжений, глубина и степень наклепа. Сопоставление теоретических результатов исследований, полученных компьютерным сеточным моделированием, с экспериментальными результатами показывает, что они отличаются на 15-30 % (рис. 10).

о 6 10 16

Рис. 10. Сравнение шероховатости Rz, полученное при численном и натурном эксперименте, по 14 каналам рабочего колеса

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ

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

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

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

лениями методом дискретных элементов, что снижает с погрешность до 15-30 %.

4. Разработан метод повышения скорости визуализации, использующий интероперабельность графической (OpenGL) и расчетной (CUDA) подсистем ГП, что увеличивает скорость визуализации на 30 % и более.

5. Разработан новый комплекс проблемно-ориентированных программ для трехмерного сеточного исследования многомассовых систем с дискретно распределенными параметрами, реализующий человеко-машинный интерфейс, позволяющий исследовать динамику процесса с сохранением информации в БД, оперативный просмотр и интерактивное отображение цветовой информации в общем виде и в виртуальных разрезах в режиме player и browser без остановки процедуры исследования.

Основные результаты диссертации опубликованы в следующих работах:

Публикации в изданиях, рекомендованных ВАК РФ

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

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

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

Статьи и материалы конференций

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

5. Копылов, Ю. Р., Компьютерное проектирование технологий

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

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

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

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

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

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

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

Подписано к печати 07.11.2013 Формат 60 х 84/ ^ тная.

Объем 1,0. усл. печ. Л. Тираж 80 экз. Заказ № 218 Отпечатано с готового оригинала-макета на полиграфической базе Воронежского Государственного Технического Университета по адресу: 394026, г. Воронеж, Московский просп., 14

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

Воронежский государственный технический университет

На правах рукописи

04-201453030

Копылов Сергей Юрьевич

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

05.13.11 - Математическое и программное Специальность, обеспечение вычислительных машин, комплексов и компьютерных сетей

ДИССЕРТАЦИЯ на соискание ученой степени кандидата технических наук

Научный руководитель докт. техн. наук, проф. Копылов Ю.Р.

Воронеж 2013

ОГЛАВЛЕНИЕ

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

с распределенными параметрами.............................С:............9

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3

Общие выводы................................................................... 126

ч Литература........................................................................127

Приложение 1.....................................................................138

Приложение 2..................................................................... 140

ВВЕДЕНИЕ

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

Дискретные модели характеризуются большим объемом производимых вычислений, напрямую зависящим от количества элементов системы, которое при реализации модели в трехмерном пространстве увеличивается на 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 % и более.

Метод интегральных свойств ДС основан на экспериментально определенных интегральных квазиупругих, диссипативных, зазорных параметрах ДС. Он позволяет более точно оп�