Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Исследование параллелизма при решении двухточечной краевой задачи на графических ускорителях NVIDIA (магистерская диссертация).docx
Скачиваний:
72
Добавлен:
28.06.2014
Размер:
1.59 Mб
Скачать

3.3. Анализ результатов

В результате тестирования разработанной программной реализации можно сделать вывод, что, чем мельче делится система на полосы (до определённого момента – m=32) и чем больше число блоков нитей, тем эффективнее происходит использование вычислительных ресурсов ускорителя. Значениеm=32 является оптимальным, т.к. при дальнейшем уменьшении полосы (m≤16) наблюдалось снижение ускорения параллельного решения. При тестировании наблюдался более высокий рост ускорения в случае большого размера задачи (n=16×106) при увеличении числа блоков нитей, чем при малом размере задачи.

Первый вариант реализации не предусматривал экономии ресурсов из-за неэффективного выделения памяти, в следствии чего, не удалось решить систему порядка n≥14000. Поэтому, была разработана улучшенная реализация, в которой память не выделялась под нулевые элементы. Это позволило добиться существенной экономии ресурсов, например, в улучшенной модификации при решении системы размером 2×106память ускорителя была загружена на 35%, в то время как, в обычной реализации память ускорителя была исчерпана при решении системы порядкаn=13500.

При проведении экспериментов было найдено оптимальное число нитей в блоке – 128 нитей на каждый блок. При значении 8 нитей на блок время вычислений ухудшилось в среднем на 4%. Суммарное число нитей оставалось неизменным.

В результате экспериментов были выявлены следующие положительные и отрицательные стороны применения графических ускорителей:

  • Преимущества

    • огромное количество нитей, работающих параллельно;

    • возможность получить хорошие результаты на современном домашнем ПК;

    • GPU– это со‑процессор, который позволяет разгрузить центральный процессор от вычислений, но не освободить его полностью;

  • Недостатки

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

    • накладные затраты на обмен данными между хостом и ускорителем;

    • низкая загруженность графического процессора.

3.4. Выводы по разделу 3

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

Заключение

Основные результаты работы заключаются в следующем:

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

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

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

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

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

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