Оглавление 4




Скачать 391.07 Kb.
НазваниеОглавление 4
страница6/9
Дата18.04.2013
Размер391.07 Kb.
ТипДокументы
1   2   3   4   5   6   7   8   9

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


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

  • Какой из предложенных способов распараллеливания задачи аппроксимации климатических спектров окажется наиболее производительным?

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

  • Какие особенности исследуемой архитектуры влияют на получаемую производительность, и каким образом проявляется это влияние?

Ответам на эти вопросы посвящена следующая глава.

Глава 3. Анализ параллельной производительности

    1. Сравнение параллельных реализаций задачи аппроксимации климатических спектров


В этом разделе сравниваются результаты, полученные при распараллеливании задачи аппроксимации климатических спектров тремя способами, описанными в предыдущей главе. Сравнение производилось на GPU-устройстве nVidia GeForce 9800M GTX с четырнадцатью мультипроцессорами. Результаты представлены на рис. 11.



Рис. 11. Производительность различных параллельных реализаций задачи аппроксимации спектров: A – распараллеливание по данным, B – распараллеливание подсчета целевой функции внутри блока, C – распараллеливание подсчета целевой функции на все потоки.


Как видно из рис. 11, наиболее выгодным в плане производительности оказался способ распараллеливания по данным. Этот факт объясняется двумя причинами. Во-первых, при распараллеливании по данным, выполнение ядра занимает существенно большее время, чем при распараллеливании вычисления целевой функции, а значит, и уменьшается доля накладных расходов, связанная с вызовом ядра, копированием данных и т.д., что видно на рис. 12. Во-вторых, структура спектра, представляющего собой матрицу 24 на 25 значений, не позволяет равномерно распределить вычисление целевой функции между потоками GPU-устройства, число которых обычно кратно тридцати двум, что создает дисбаланс, ведущий к неполной загрузке GPU-устройства.



Рис. 12. Соотношение времени работы ядра и времени, затрачиваемого на дополнительные действия: A – распараллеливание по данным, B – распараллеливание подсчета целевой функции внутри блока, C – распараллеливание подсчета целевой функции на все потоки.


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

    1. Влияние конфигурации ядра на получаемую производительность


Анализ влияния конфигурации ядра на получаемую производительность проведен для способа распараллеливания алгоритма аппроксимации спектров, основанного на декомпозиции по данным (рис. 7), при котором в каждом потоке выполняется подсчет значения целевой функции для своего набора входных данных. Предметом исследования являлось влияние конфигурации системы на получаемое ускорение, а так же оценка составных частей времени работы алгоритма. Для оценки ускорения проводилось сравнение времени работы алгоритма при использовании GPU-устройства nVidia GeForce 8800 Ultra и времени обработки тех же данных на одном ядре процессора Intel Core 2 Duo 2.3 GHz.

Зависимость получаемого ускорения от конфигурации ядра (число потоков в блоке, умноженное на число блоков) представлена на рис. 13.



Рис.13. Зависимость ускорения от конфигурации ядра

Рост ускорения при увеличении числа блоков от 4 до 16 можно объяснить тем, что в исследуемой системе 16 мультипроцессоров. Таким образом, при конфигурации в 4 и 8 блоков часть мультипроцессоров остается бездействующей. При дальнейшем увеличении числа блоков все мультипроцессоры загружены работой, тем не менее, ускорение продолжает расти.

На рис. 14 представлены результаты, полученные в процессе измерения составных частей времени работы алгоритма на GPU-устройстве:

(12)

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

Заметим, что время исполнения ядра практически не меняется с увеличением числа блоков от 4 до 32, а при увеличении числа блоков до 48 происходит резкий скачок времени работы ядра. Время, затрачиваемое на работу с памятью, растет при этом линейно (так как с увеличение числа блоков увеличивается и количество входных и выходных данных). Надо заметить, что это время в рассматриваем случае составляет существенную часть от общего времени. Таким образом, попутно можно сделать вывод о том, что в задачах, использующих большие и, возможно, повторяющиеся наборы данных, следует избегать повторного копирования и выделения памяти там, где это возможно.



Рис. 14. Составные части времени работы

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



Рис. 15. Одновременное выполнение блоков на мультипроцессоре GPU-устройства.


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

В тот момент, когда число блоков начинает превышать некоторое критическое значение, определяемого максимальным числом блоков, которое возможно запустить на одном мультипроцессоре при заданном размере блока и заданном ядре происходит резкое увеличение времени работы. Это число зависит то того, сколько ресурсов мультипроцессора используется одним потоком заданного ядра. Зависимость максимального числа блоков от числа регистров и размера разделяемой памяти, используемой ядром можно найти в nVidia Occupancy Calculator [15].

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

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



Рис. 16. Производительность ядра

Как видно из рис. 16, при увеличении числа блоков, а значит и вычислительной нагрузки производительность ядра некоторое время растет, затем происходит резкий спад, за ним – рост производительности, затем – опять резкий спад и т.д. При этом пиковые значения производительности для разных размеров блока различаются. Таким образом, для определения оптимальной с точки зрения производительности конфигурации, требуется выбрать размер блока с наибольшими пиковыми значениями производительности. А затем – выбрать число блоков, для которого это пиковое значение достигается. Чаще всего это задача решается экспериментально – путем перебора возможных конфигураций ядра. Однако решаемая задача имеет специфическую особенность – при увеличении числа блоков количество вычислений, осуществляемое одним блоком, не изменяется, пропорционально увеличивается лишь общая работа осуществляемая ядром. Для таких задач оптимальную конфигурацию ядра можно выбрать аналитически, используя описанную далее модель производительности.
1   2   3   4   5   6   7   8   9

Похожие:

Оглавление 4 iconЮжно-Уральский государственный университет
После того, как документ готов, здесь следует вставить оглавление (меню "Вставка", команда "Оглавление и указатели…").]
Оглавление 4 iconОглавление оглавление 1 введение 2 постановка задачи 3 анализ методов решения задачи 3
Всемирная тенденция к объединению компьютеров в сети обусловлена рядом важных причин, таких
Оглавление 4 iconОглавление оглавление 2 введение 3
Так, в западной экономической системе сфера услуг играет главенствующую роль, а в промышленности на первый план выходят наукоемкие...
Оглавление 4 iconПрограмма начального общего образования сош с. Перекопное 2011 г. Оглавление. Муниципальное общеобразовательное учреждение 1 Оглавление. 2 Раздел 1 Пояснительная записка. 6 Закон РФ «Об Образовании»
«средняя общеобразовательная школа с. Перекопное ершовского района саратовской области»
Оглавление 4 iconОглавление оглавление 1
В двадцать первом веке объемы учебного материала, высокие требования к современному ученику и учителю подталкивают педагога к поиску...
Оглавление 4 iconОбщие Требования, предъявляемые к учебной литературе Общие требования
Федеральному государственному образовательному стандарту. Оглавление учебника должно соответствовать всему перечню разделов учебной...
Оглавление 4 iconИсследовательская работа 2010 год. Оглавление Сотовый телефон в нашей жизни. 1 Оглавление 2 Глава 1 Теоретическая часть «Сотовый телефон в нашей жизни»
«Осторожно! Высокое напряжение», и находится там продолжительное время. В результате, организм человека работает уже не в тех оптимальных...
Оглавление 4 icon3 оглавление

Оглавление 4 iconРуководство по Mysql оглавление

Оглавление 4 icon2011 201 оглавление
Лекция 3
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница