Федеральное агентство связи
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Сибирский государственный университет телекоммуникаций и информатики»
(СибГУТИ)
|
|
Кафедра
|
ПМиК
|
Допустить к защите
|
|
|
Зав.каф. _____________Фионов А.Н.
|
|
|
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА МАГИСТРА
|
Расчет выработки грунта на рельефе
|
с заданной нерегулярной геодезической сеткой
|
и его программная реализация на GPU.
|
Магистерская диссертация
по направлению 09.04.01 «Информатика и вычислительная техника»
Студент
|
Семенов Виктор Петрович
|
/…………………/
|
Руководитель
|
Малков Евгений Александрович
|
/ …………..……/
|
|
|
|
|
|
|
|
|
|
|
Новосибирск 2016 г.
Содержание
Оглавление
Введение 3
1 Основные понятия 5
1.1 Сплайны 5
1.2 B-сплайны 9
1.3 Кубические сплайны 14
1.4 Сплайн-поверхность Смоляка 19
2. Инструментарий 23
2.1 Технология CUDA 23
2.1.1 Модель программирования CUDA 27
2.1.2 Модель памяти CUDA 29
2.1.3 CUDA и язык C 33
2.1.4 Библиотека cuBLAS 37
2.1.5 Библиотека cuSPARSE 40
2.1.6 Библиотека cuSOLVER 41
2.2 Инструмент gSOAP 42
2.2.1 Пример использования 43
2.3 MATLAB 45
2.3.1 Синтаксис языка 46
3 Реализация 50
3.1 Веб-служба 50
3.1.1 Решение СЛАУ на графических ускорителях 50
3.1.2 Создание веб-службы с помощью gSOAP 57
3.2 Клиент на MATLAB 60
4 Тестирование 62
4.1 Эллиптический параболоид 62
4.2 Трансцендентная поверхность 1 65
4.3 Трансцендентная поверхность 2 68
Заключение 72
Список литературы 74
ПРИЛОЖЕНИЕ А 76
ПРИЛОЖЕНИЕ Б 79
ПРИЛОЖЕНИЕ В 82
Введение
Эффективность обогащения полезных ископаемых в горно-обогатительном заводе напрямую зависит от качества, подаваемого на завод материала, ее состава, концентрации полезных ископаемых в породе, твердости, богатства руды и т.п. Материал, попадающий на завод, должен строго соответствовать технологическому процессу этого завода. Исходя из этого, возникает необходимость в определении состава и массы породы каждого груженого ковша экскаватора еще до попадания на завод.
Для определения состава и массы породы, попавшей в ковш экскаватора, необходимо знать начальное распределение областей с различными составами в объеме выемочного блока (объема земли, из которого производится выемка породы) и характер поверхности местности в районе проводимых горных работ. Отслеживая движения экскаватора или другой горнодобывающей техники специальными датчиками мы можем моделировать картину изменения тех или иных свойств местности, таких как профиль поверхности и распределение материалов в объеме выемочного блока, а также можем оценить свойства груженой породы, от которой зависит, поедет порода на завод, или же просто будет вывезена за пределы карьера как бесполезная.
Начальный профиль поверхности района работ получают путем сканирования местности специальными инструментами, в результате которого создается «облако» точек, характеризующих поверхность карьера. Данное «облако», как правило, имеет нерегулярный характер, и точки в нем не являются узлами регулярной сетки. Для определения объема, состава и массы груженой породы на основе этих данных строится набор узловых точек с регулярной сеткой, по которому, в свою очередь, строится поверхность методом триангуляции.
Преобразование набора нерегулярных точек в регулярную сетку добавляет дополнительные ошибки в расчетах, а грубый, но простой в реализации, метод триангуляции еще сильнее ухудшает точность алгоритма расчета материала и массы выгруженной породы в ходе горных работ.
В данной работе с целью повышения точности расчетов предлагается избавиться от преобразования «облака» точек с нерегулярной сеткой в регулярную сетку с фиксированным шагом, а также предлагается строить аппроксимирующую поверхность по сырым входным данным вместо грубого метода триангуляции по вторичной регулярной сетке.
Поскольку работа на горнодобывающих предприятиях никогда не останавливается и ведется круглосуточно весь срок службы карьера, все расчеты должны производится в режиме реального времени. Необходимость вычислений в режиме реального времени накладывает определенные требования на мощность вычислительного узла. В данной работе предлагается использовать графические ускорители и распараллеливание программы для проведения расчетов в реальном времени. Мы будем использовать графические ускорители от компании Nvidia, лидера в этой области, и их технологию CUDA, предназначенную для проведения массированных расчетов на их графических ускорителях (см. раздел 2.1 “Технология CUDA”).
Использование технологии CUDA требует наличия графического ускорителя на компьютере, на котором выполняется программа. Для сведения к минимуму данное ограничение было решено разработать распределенное приложение с клиент-серверной архитектурой. Серверное программное обеспечение будет использовать технологию CUDA для проведения вычислений и отдавать обработанные данные клиенту по запросу. В нашем случае, сервер будет выдавать коэффициенты сплайна, по которому клиент уже может строить сплайн.
Рассматриваемые в следующей главе варианты аппроксимирующих поверхностей, кроме сплайн-поверхности Смоляка, строятся лишь по точкам, размещенным на регулярной сетке с фиксированным шагом. Таким образом, данные поверхности не подходят для моделирования изменения поверхности местности проводимых горных работ, строящегося по нерегулярной сетке.
Также существует алгоритм аппроксимирующих поверхностей, реализованный в библиотеке CUDA cuNurbs, но в этом алгоритме поверхность не проходит по базовым точкам, что также не позволяет его использовать для наших целей.
Наша задача: реализовать алгоритм интерполяционной поверхности на нерегулярной сетке на графических ускорителях. Для обеспечения доступа к вычислительным узлам с графическими ускорителями также необходимо разработать распределенное приложение с «тонким» клиентом.
|