
- •Аннотация
- •Оглавление
- •Введение
- •1. Графические ускорители – как эффективный путь повышения производительности вычислительных архитектур
- •1.1. Этапы развития графических ускорителей и их устройство
- •1.1.1. Основная терминология и устройство графического адаптера
- •1.1.2. Архитектура современныхGpu
- •1.2. Подход к использованию графических ускорителей для вычислений общего назначения
- •1.2.1.GpgpUподход
- •1.2.2. Гибридные вычислительные системы
- •1.2.3. Программная модельCuda
- •1.3.OpenAcc. Новейший стандарт разработкиGpgpu-приложений
- •1.3.1. Возможности стандарта
- •1.3.2. Модель выполнения
- •1.3.3. Модель памяти
- •1.4. Выводы по разделу 1
- •2. Постановка задачи магистерской диссертации
- •2.1. Цели и задачи исследования
- •2.2. Математическая постановка задачи решения трехдиагональной системы линейных уравнений методом блочной прогонки
- •2.3. Разработка параллельного алгоритма для решения трехдиагональной системы линейных уравнений
- •2.4. Выводы по разделу 2
- •3. Реализация и исследование разработанного алгоритма
- •3.1. Структура параллельной программы и особенности реализации
- •3.2. Результаты тестирования
- •3.3. Анализ результатов
- •3.4. Выводы по разделу 3
- •Заключение
- •Список использованных источников
- •Приложение 1. История развития графических ускорителей и их устройство
- •1.1. Устройство графического адаптера
- •1.2. Рынок графических адаптеров
- •1.3. АрхитектураGpugt200
- •1.4. Современное положение дел
- •Приложение 2. Основная часть программного кода разработанного приложения
1.2. Рынок графических адаптеров
Одним из первых графических адаптеров для IBM PC стал MDA (Monochrome Display Adapter) в 1981 году. Этот монохромный адаптер работал только в текстовом режиме и поддерживал пять атрибутов текста: обычный, яркий, инверсный, подчёркнутый и мигающий.
Первым цветным графическим адаптером стал CGA (Color Graphics Adapter), выпущенный IBM и ставший основой для последующих стандартов видеокарт. Он мог работать в графическом режиме с разрешениями 320×200 точек или 640×200 точек. В развитие этого адаптера в 1984 году появился EGA (Enhanced Graphics Adapter) — улучшенный графический адаптер, с расширенной до 64 цветов палитрой, и промежуточным буфером, также было улучшено разрешение до 640×350 точек.
В ранних моделях компьютеров IBM PS/2, появляется новый графический адаптер MCGA (Multicolor Graphics Adapter), количество цветов увеличено до 262144. В 1987 году компания IBM разработала видеоинтерфейс VGA(VideoGraphicsArray), который стал стандартом, и соответствующий ему видеоадаптер с режимом 640x480 точек (соотношение сторон 4:3). Режим 640x480 точек был популярен в 90-х годах, а мониторы с соотношением сторон 4:3 оставались очень популярными и в 2000‑х.
В 1991 году появилось понятие SVGA(SuperVGA) – расширение VGA с добавление новых режимов и других функций. Графические адаптерыSVGAимели режимы от 800×600 точек и более и количество цветов 16 777 216 при 24 битах на пиксель. С середины 1992 годаSVGAстал восприниматься как стандарт.
Во многих операционных системах появился графический пользовательский интерфейс (GraphicalUserInterface, GUI), который стимулировал новый этап развития графических адаптеров. Появляется понятиеграфический ускоритель(graphicsaccelerator). Это графические адаптеры, которые производят выполнение некоторых графических функций на аппаратном уровне. К числу этих функций относятся: перемещение больших блоков изображения из одного участка экрана в другой (например, при перемещении окна), заливка участков изображения, рисование линий, дуг, шрифтов, поддержка аппаратного курсора и т. п. В наши дни, главной особенностью графических ускорителей, помимо быстрой обработки графики, стала поддержка технологии вычислений общего назначений (GPGPU), которой будет уделено внимание в разделе 1.2.1.
В 1993 появляется компания NVIDIA, один из крупнейших производителей графических процессоров на данный момент. В 1995 году начинается выпускNV1 – первого графического адаптера отNVIDIA. В 1999 году компания представляетQuadro– первый в миреGPUдля рабочих станций. Серия графических ускорителейQuadroсуществует и по сей день и ориентирована на пользователей, работающих в бизнес-приложениях (финансовых, корпоративных, САПР). Рабочая станция (workstation) – комплекс аппаратных и программных средств, предназначенных для решения определённого круга задач. Рабочая станция – это полноценный компьютер или терминал. Поскольку в рабочих станциях важную роль играют графические ускорители (например,NVIDIAQuadro), рассмотрим круг задач, для решения которых применяются рабочие станции. Круг задач можно разбить на отдельные подклассы:
Компьютерная графика и обработка изображений, видео, звука; 3D‑моделирование
Различные инженерные, архитектурные и иные САПР, ГИС и пр.
Научные и инженерно-технические вычисления.
Биржевой трейдинг.
В 2007 году [2] появляется технология NVIDIACUDAи соответствующийCUDASDK(комплект средств разработки), который позволил создавать ориентированное на вычисления общего назначения программное обеспечение для графических ускорителейNVIDIAсерийGeForce,QuadroиTesla.Tesla– семейство графических ускорителей на основеGPU, использующих программно-аппаратную архитектуруCUDA(см. 1.2.3.). УскорителиTeslaприменяется в научной сфере и используются в рабочих станциях и суперкомпьютерах. Согласно спискуTOP500 самых мощных суперкомпьютеров в мире на ноябрь 2013 года, в 39 системах применяетсяNVIDIATeslaв качестве со-процессора.
Другим крупным игроком на рынке графических адаптеров является компания AMD, основанная в 1969 году и поглотившая в 2006 году компанию ATI Technologies – разработчика и производителя графических процессоров, основанную в 1985 году.AMDразработала аналог технологииCUDA– технологиюFireStream(так же известную, какCloseToMetalи Stream Technology), предоставляющую возможность использовать ядра графического процессора для вычислений общего назначения. Интерфейс программирования осуществляется через открытый стандарт OpenCL.