Введение 3
1. Постановка задачи 4
1.1 Прямая задача 4
1.2 Обратная задача 5
2. Программирование графического процессора 6
2.1 Общая информация 6
2.3 Основные обозначения 9
3. Вывод основных уравнений 11
4. Решение прямой задачи 13
5. Решение обратной задачи 15
5.1 Определение целевой функции 15
5.2 Применение технологии CUDA 18
5.3 Результаты работы 19
5.4 Сравнение производительности 27
6. Заключение 29
7. Список литературы 30
8. Приложение 31
8.1 Результаты работы программы 31
8.2 Листинг 35
С начала изобретения компьютеров продолжается их непрерывное совершенствование. Такое стремительное развитие вычислительных технологий позволяет взглянуть по-новому на многие решенные задачи, а также разрешить новые, но, к сожалению, для любых совершенствований существует предел. Сегодня, в силу целого ряда технологических ограничений на дальнейший возможный рост тактовой частоты процессора, производители идут в сторону числа увеличения числа процессоров и ядер. Именно поэтому сегодня параллельные вычисления являются одним из самых актуальных и приоритетных направлений. Но, как правило, для решения некоторых задач недостаточно вычислительной мощности обычного клиентского компьютера, а использование суперкомпьютера или кластера представляется невозможным.
В подобной ситуации иногда разрешить поставленную проблему помогает использование графических процессоров GPU (англ. — Graphics Processing Unit). На сегодняшний день они способны обеспечить производительность в тысячи и даже десятки тысяч миллиардов операций над вещественными числами в секунду (GigaFLoating point Operations Per Second, GFLOPS), а подобная видеокарта встречается даже в довольно дешевых ноутбуках.
В данной работе рассматривается численное решение прямой и обратной задач внешней баллистики. Численное решение обратной задачи всегда является очень трудоемким и долгим процессом. В случае с задачей внешней баллистики, помимо прочего, количество входных данных является минимальным, а время решения играет решающую роль. Использование GPU для решения обратной задачи позволило многократно ускорить время работы.
В главе 1 приводится постановка прямой и обратной задач, а также основные предположения задач внешней баллистики. В главе 2 приводятся основы работы с технологией программирования графического процессора. В главе 3 описан численный метод решения прямой задачи. В главах 4-5 описывается алгоритм решения обратной задачи, а также результаты вычислительных экспериментов.
В ходе работы была решена обратная задача баллистики. В ходе работы рассмотрено два случая задания целевой функции, а также проведен их сравнительный анализ на модельной задаче. Результаты работы позволяют сделать вывод, что важную роль в решении обратной задачи внешней баллистики играет доля покрытия траектории исходными данными (то есть количество замеров на реальной траектории). Также в работе показана целесообразность использования CUDA для решения таких задач. Использование данной технологии ускорило работу программы в 40 раз, по сравнению с решением данной задачи без использования GPU.