Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК 2 Лекционный курс.doc
Скачиваний:
20
Добавлен:
16.08.2019
Размер:
3.92 Mб
Скачать

4.3.Графические процессоры как вычислительные системы для поточно-параллельных расчётов

4.3.1.Вычислительные возможности центральных процессоров общего назначения и графических процессоров

Со времени своего появления в начале 1980-х годов персональные компьютеры (ПК) развивались в основном как машины для выполнения «кибернетических» программ - сложных по структуре, обрабатывающих большое количество условий, интенсивно взаимодействующих с пользователем (интерактивных), но обычно не связанных с потоковой обработкой большого количества данных. Центральные процессоры ПК (CPU) оптимизировались для решения именно таких задач, так что характеризовались:

 Большим количеством транзисторов для управления ветвлениями программы и сравнительно малым количеством транзисторов для вычислений;

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

 Памятью, оптимизированной под минимальную латентность.

В начале своей истории ПК не были достаточно мощными для быстрой обработки больших массивов данных, так что CPU вообще не поддерживали поточно-параллельных вычислений. Затем эти процессоры стали суперскалярными – в них была реализована возможность одновременного применения некоторых математических операций к нескольким числам (расширения SSE, 3DNow!). Тем не менее, поддержка поточно-параллельных вычислений центральными процессорами ПК и сейчас сильно ограничена.

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

Рис. 4.4. Архитектура ПК с одним центральным процессором и видеокартой

На рис. 4.4 для иллюстрации показана архитектура персонального компьютера с одним центральным процессором и видеокартой с графичес­ким процессором [13]. Видеокарта – это подсистема ПК, включаю­щая в себя графический процессор (GPU) и специализированную оператив­ную память, с которой этот графический процессор может обмениваться данными. Эту спе­циальную память называют видеопамятью. Центральный процессор также имеет доступ к видеопамяти, а кроме того – может загружать в GPU програм­мы для исполнения и запустить исполнение этих программ. Схематичная мо­дель взаимодействия центрального и графичес­кого процес­соров с памятью (а посредством памяти – и между собой) показана на рис. 4.5.

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

Графические процессоры (GPU), используемые в видеокартах, ориентиро­вались на следующие характеристики:

 Память оптимизирована под максимальную пропускную способность;

 Большая часть транзисторов – вычислители;

 Латентность скрывается вычислениями во время запросов к памяти (за счет потоковой обработки);

 Управляющие блоки разделяются между вычислителями (обработка ветвлений менее эффективна);

 Архитектура оптимизирована для программ с большим объемом вычислений (максимальная скорость вычислений).

Современные графические процессоры допускают достаточно слож­ное программирование (см., например, [13]), так что могут быть использова­ны не только для отображения графики, но и для других расчётов. Задачи, хорошо распараллеливаемые по данным, на них можно решать во много раз быстрее, чем на центральных процессорах ПК.