Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Архитектура графического процессора




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

Конструктивно графический процессор (GPU) представляет собой отдельную вычислительную микросхему, работающую параллельно с центральным процессором. На персональных компьютерах GPU обычно входят в состав графических ускорителей (или видеокарт) – дополнительных устройств, изначально предназначенных для визуализации двух- и трехмерной графики. Графические ускорители, помимо GPU, включают в себя микросхемы видеопамяти (см. ниже) и собственную систему охлаждения. Они подключаются к системной плате через шины данных PCI-Express либо AGP, которые обеспечивают центральному процессору доступ к видеопамяти и GPU.

На рис. 3.1, в качестве примера, показана архитектура графического процессора G80 [4] – одного из процессоров NVIDIA, поддерживающих архитектуру CUDA [4]. Как и другие, этот GPU представляет собой систему из параллельных вычислительных блоков (потоковых мультипроцессоров), каждый из которых исполняет одну и ту же программу (англ. kernel, вычислительное ядро) применительно к различным исходным данным.

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

В настоящем пособии мы рассмотрим только процессоры архитектуры CUDA, выпускаемые компанией NVIDIA, как наиболее удобные для неграфических вычислений. Название CUDA – Compute Unified Device Architecture (архитектура универсального вычислительного устройства) подчеркивает тот факт, что эти процессоры предназначены не только для обработки графики, но и для выполнения алгоритмов общего назначения.

Рис. 3.1. Архитектура графического процессора NVIDIA G80 [1]

Концепцию вычислений, реализованную в архитектуре CUDA, NVIDIA характеризует понятием SIMTSingle Instruction for Multiple Threads (одна инструкция для множества потоков). Это название, модифицированное по сравнению с известной аббревиатурой SIMD (Single Instruction for Multiple Data, одна инструкция для множества данных) подчёркивает тот факт, что конкретные вычислительные потоки в CUDA не «привязаны» к конкретным элементам массивов исходных данных. Напротив, потоки хорошо управляемы, имеют уникальные идентификаторы, доступные программисту, осуществляют произвольный доступ к данным из памяти, посредством разделяемой памяти могут взаимодействовать друг с другом.


Поделиться:

Дата добавления: 2015-09-13; просмотров: 135; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты