Графический процессор: эволюция, особенности архитектуры

Создание GPU

До создания компьютерной графики за все нужные запросы отвечал центральный процессор (CPU). По мере увеличения потребностей CPU уже не имел возможностей справляться с нужными задачами. Это сподвигло разработать что-то новое, более мощное.

Термин "GPU" впервые был использован компанией Nvidia при выпуске GeForce 256. Эта видеокарта интегрировала механизмы трансформации, настройки/склейки треугольников, освещения и рендеринга на одном чипе. Это стоит подчеркнуть, так как после выпуска некоторые видеокарты по-прежнему использовали CPU в подобных задачах. Кроме того, значительный вклад был внесен еще в 1994 году компанией Playstation, которая поставила графический процессор в консоль.

Графический процессор: эволюция, особенности архитектуры

Прогресс развития и совершенствования GPU происходил стремительно, сразу приводящие значительные улучшения

  • С 2000-х годов GPU начали активно использовать для вычислений общего назначения (GPGPU). Это стало возможным благодаря их новой способности параллельного выполнения сложных задач, за счет оснащения большим количеством вычислительных ядер.
  • В 2006 году NVIDIA разработала архитектуру CUDA, благодаря которой GPU можно использовать в научных и инженерных задачах. Это открыло новые перспективы в развитии многопоточных вычислений.
  • В 2010 году GPU начали использовать в создании технологий автономного вождения автомобилей. Это стало возможным благодаря улучшенной обработке больших потоков информации в реальном времени.
  • В 2012 году в видеокартах NVIDIA появилась технология динамического регулирования тактовой частоты – GPU Boost, которая позволяет оптимизировать производительность и энергопотребление в зависимости от текущих задач.

Развитие по-прежнему продолжается в активном виде. Главные лидерами являются Nvidia и AMD.

Архитектура GPU

Архитектура графических процессоров - совокупность структурных и функциональных особенностей, которые определяют характеристики устройства. Она включает все компоненты, которые обеспечивают функциональность и уникальные возможности GPU.

У GPU реализована архитектура SIMD (Single Instruction Multiple Data), в которой 1 процессор управления и память инструкций могут выполнять один процесс в любой момент. Благодаря такой архитектуре в каждом ядре процессы могут происходить одновременно и быстро.

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

CUDA включается в себя 2 компонента:

Вычислительные блоки - это основные вычислительные элементы. Каждый из набора ядер работают в унисон для одновременного выполнения задач. GPU может содержать до нескольких тысяч.

Ядра - современные GPU имеют огромное количество ядер CUDA, каждое из нхи имеет свой регистр. Выполняет математические вычисления, которые позволяют выполнять параллельно одну задачу для множества данных.

Виды памяти в архитектуре GPU включают:

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

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

➖Глобальная память - это основное хранилище данных, доступное для всех потоков и блоков потоков в рамках программы, выполняемой на GPU.

Разновидности

Существует три типа:➖ Интегрированные (Integrated)➖ Дискретные (Discrete)➖ Виртуальные (Virtual)

Интегрированные GPU могут интегрироваться в архитектуру центрального процессора (CPU) или быть частью материнской платы. Они обладают только базовой графической производительностью и чаще всего используются в системах, предназначенных для мультимедийных и офисных приложений. К их преимуществам относится простая конструкция и низкая стоимость системы.

Дискретные GPU – это видеокарты, которая ставится в материнскую плату. Они имеют повышенную производительность, поэтому их можно использовать для выполнения ресурсоемких задач.

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

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

Работа графических процессоров

Необходимо изучить конвейер рендеринга графики, роль шейдеров и такие методы, как текстурирование, растеризация и сглаживание. Это последовательность шагов, которые выполняет графический процессор для преобразования 3D-данных в 2D-изображение на экране.

Графический процессор: эволюция, особенности архитектуры

Методы сглаживания

Самая легко решаемая проблема - это диагональные или изогнутые линии выглядят неровными или ступенчатыми. Для придания линиям более гладкого и естественного вида используются различные методы сглаживания.

Многодискретное сглаживание (MSAA). Метод устраняет ступенчатость путем выборки нескольких точек в каждом пикселе для расчета окончательного цвета. Он обеспечивает баланс между вычислительной производительностью и качеством изображения.

Избыточная выборка сглаживания (SSAA). SSAA работает путем рендеринга изображения со значительно большим разрешением, чем конечный размер дисплея, а затем понижения дискретизации до нужного размера. В результате получается высококачественное изображение, но оно требует больше вычислительной мощности.

Быстрое приближенное сглаживание (FXAA). Метод определяет контрастные области (рёбра) любого размера и незначительно, на расстояние меньше размера пикселя, сдвигает каждый пиксель в каждой области.

Субпиксельное морфологическое сглаживание (SMAA). Метод постобработки, который сочетает в себе различные техники для уменьшения как геометрического, так и временного сглаживания. Он сложнее, чем FXAA, но может обеспечивать лучшее качество.

Темпоральное сглаживание (TAA). Метод уменьшает артефакты ползания и мерцания, которые могут возникать при движении камеры. Он достигается путем объединения образцов из предыдущих кадров с текущим.

Применениe GPU

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

➖Финансовая аналитика. Рынки постоянно генерируют огромные объемы данных, а GPU можно использовать для их оперативной обработки.

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

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

Для написания информации использовалась статья с Habr, также дополнительные источники интернета.

Подписывайтесь на наш телеграмм канал - там много интересного! От сборки компьютеров до обычных новостей!

33
1 комментарий

Отлично,коротко и ёмко написано,много подчеркнул и понял, спасибо))

1
Ответить