Что такое nvidia gpu

Что такое видеокарта

Видеокарта является одним из наиболее важных компонентов компьютера. Основная задача видеокарты — это работа с графикой и видео. Имеются видеокарты в настольных компьютерах, ноутбуках, игровых приставках, таких как Xbox, и даже в смартфонах и планшетах. Видеокарты также могут называться «графический чип», «графический ускоритель», «видеоадаптер» и другими подобными наименованиями. Отвечает графический чип за отображение «картинки» на экране электронного устройства, преобразование или сжатие видео в различные форматы, просмотр телевизионных каналов и прочее. В этой статье мы поговорим про видеокарты для стационарных компьютеров и ноутбуков.Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpuПри покупке видеокарты наиболее важно обратить внимание на характеристики и параметры GPU (графического процессора) и объема видеопамяти. Существует два основных производителя видеокарт: NVIDIA и AMD (бывшая ATI). Одни из самых популярных и распространенных карт от AMD носят название Radeon. Наиболее популярные видеокарты от NVIDIA называются GeForce. Другие производители, выпускающие видеокарты, для своих моделей используют чипы этих двух компаний-гигантов компьютерной индустрии. Видеокарты имеют встроенную память. Чем выше пропускная способность памяти, тем быстрее осуществляется доступ к данным. Во всех современных видеокартах есть также 3D-ускорители, которые используются для построения 3D-изображений. Частота обновления, которое измеряется в герцах, означает, сколько раз в секунду изображение на экране перерисовывается. Если показатели частоты обновления экрана низки, то экран начинает мерцать, что крайне отрицательно сказывается на здоровье глаз пользователя.

DirectX используется в мультимедийных программах. Windows XP использует DirectX 9, в то время как Windows Vista использует DirectX 10, хотя интерфейс Aero для своего функционирования не требует его поддержки. В Windows 7 используется DirectX 11.

Графика может быть 2D или 3D. 2D-графика используется в обычных программах, таких как Microsoft Word и веб-браузерах, наподобие Microsoft Internet Explorer. Интегрированная в материнскую плату видеокарта, обычно используется для бюджетных компьютеров, работающих, например, в офисах и не использующих таких мощных графических программ, как Adobe Photoshop. Если планируется работать с мощными графическими программами, программами для моделирования и другими приложениями, интенсивно работающими с графикой, возможностей интегрированного видеоадаптера будет недостаточно.

Если вы планируете играть в игры, интенсивно использующие графический 3D-эффект, например, Quake, то вам будет необходима видеокарта высокого класса, или даже, возможно, потребуется двойная видеокарта. Двойная видеокарта состоит из двух одинаковых видеокарт, соединенных между собой специальным интерфейсом. Интерфейс может быть SLI (Scalable Link Interface) для NVIDIA карт и Crossfire для видеокарт ATI. Двойная видеокарта может использоваться также в дизайнерских студиях, в которых используется мощное программное обеспечение для работы с 3D графикой.

Для подключения видеокарты к материнской плате используется 3 типа слотов: PCI, AGP, PCI-E. Первые два типа слотов в настоящее время считаются устаревшими. Наиболее старый интерфейс PCI, используется как для подключения видеокарты, так и для подключения других устройств, например, звуковой или сетевой карты. В настоящее время практически не используется, так как шина PCI, является довольно медленной и не соответствует требованиям современных видеокарт. Пришедший на смену PCI, интерфейс AGP, является более быстрым, но в настоящее время также устарел. В современных компьютерах для подключения видеокарты к материнской плате используется интерфейс PCI Express. В то время как большинству карт необходим всего один канал для подключения к компьютеру, видеокартам нужно 16 каналов для подключения. Уже выпущено несколько версий PCI Express и в ближайшем будущем данный интерфейс будет преобладать на абсолютном большинстве компьютеров, его не планируется заменять на какой – либо другой тип интерфейса.

Источник

Что такое GPU и в чём разница между видеокартой

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

Что такое GPU

Что такое GPU в компьютере и для чего он используется

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

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

Графический процессор и видеокарта одно и то же

Многие считают, что графический процессор (GPU) и видеокарта — это синонимы. Но это — ошибочное мнение. Графический процессор (GPU) — это микрочип, который представляет собой кремниевый кристалл. Визуально схож на CPU. Но архитектура GPU кардинально отличается от той, что используется в обычном центральном процессоре. В видео это объясняется простым языком

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

То есть GPU — это часть видеокарты. С технической стороны, видеоадаптер — это мини-компьютер. Ведь у него есть собственный процессор (графический), ОЗУ, шина данных.

Что такое интегрированный графический процессор

Видеокарты вплоть до 2005 года выпускались в форме отдельной платы, подключаемой к материнской плате компьютера или ноутбука. Но затем графические процессоры (GPU) начали интегрировать в CPU, такие кристаллы принято обозначать как iGPU.

У них нет собственной оперативной памяти или кэша. Соответственно, при отрисовке графики они резервируют часть имеющейся в компьютере ОЗУ.

Также интегрированные GPU менее производительные. И за счет этого — потребляют в десятки раз меньше электроэнергии. Именно поэтому их чаще всего и используют в производстве недорогих ноутбуков, портативной техники.

Что такое графический процессор(GPU), интегрированный в CPU с технической точки зрения? Это отдельный кремниевый микрочип, который находится на одной плате («подложке») с центральным процессором. То есть он работает отдельно, хоть и использует ту же самую линию питания, что и CPU.

Как узнать какой GPU в компьютере

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

Есть нюанс: во многих современных ноутбуках устанавливается одновременно и интегрированная, и дискретная видеокарта. По умолчанию используется iGPU. А дискретный GPU задействуется в тех ситуациях, когда производительности iGPU недостаточно (например, при запуске видеоигры, приложения для видеомонтажа).

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

Температура свыше 100 градусов существенно ускоряет деградацию кремниевого кристалла. И именно перегрев — одна из самых распространённых причин выхода из строя видеокарт.

А для тестирования можно воспользоваться бесплатной утилитой Furmark.

Что делать, если температура в нагрузке CPU слишком высокая? Подробно описано здесь

Что такое дискретный графический процессор

Дискретный графический процессор — это тот, который устанавливается отдельно от CPU. Поставляется в форме платы, чаще всего — с портом PCI Express для подключения к материнской плате.

Недостатки встроенного GPU в компьютере

Ключевые недостатки интегрированных графических процессоров (iGPU):

Но есть у iGPU и весомое преимущество. Это малое энергопотребление.

Для сравнения, видеокарта GPU Nvidia Geforce последнего поколения потребляет порядка 300 Вт в нагрузке. Интегрированный графический процессор — порядка 3 – 10 Вт (в зависимости от модели видеокарты). Также следует упомянуть, что в игровых приставках последних поколений (XBOX, PlayStation), а также в портативной игровой консоли Steam Deck используются именно iGPU.

Аналитики вообще считают, что в ближайшие 10 – 20 лет дискретные видеокарты вообще станут невостребованными и их производство вовсе прекратят.

Итого, в каждом ПК или ноутбуке устанавливается два процессора, один из которых — графический( GPU). Интегрированные iGPU отлично подходят для «офисных» ПК, тогда как с дискретными GPU — для игровых компьютеров или так называемых «графических станций». А какая видеокарта установлена в вашем ПК или ноутбуке? Расскажите об этом в комментариях.

Источник

CUDA: Как работает GPU

Внутренняя модель nVidia GPU – ключевой момент в понимании GPGPU с использованием CUDA. В этот раз я постараюсь наиболее детально рассказать о программном устройстве GPUs. Я расскажу о ключевых моментах компилятора CUDA, интерфейсе CUDA runtime API, ну, и в заключение, приведу пример использования CUDA для несложных математических вычислений.

Вычислительная модель GPU:

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

CUDA и язык C:

Дополнительные типы переменных и их спецификаторы будут рассмотрены непосредственно в примерах работы с памятью.

CUDA host API:

Перед тем, как приступить к непосредственному использованию CUDA для вычислений, необходимо ознакомиться с так называемым CUDA host API, который является связующим звеном между CPU и GPU. CUDA host API в свою очередь можно разделить на низкоуровневое API под названием CUDA driver API, который предоставляет доступ к драйверу пользовательского режима CUDA, и высокоуровневое API – CUDA runtime API. В своих примерах я буду использовать CUDA runtime API.

Понимаем работу GPU:

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

Задача. Требуется вычислить сумму двух векторов размерностью N элементов.

Нам известна максимальные размеры нашего блока: 512*512*64 нитей. Так как вектор у нас одномерный, то пока ограничимся использованием x-измерения нашего блока, то есть задействуем только одну полосу нитей из блока (рис. 3).
Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu
Рис. 3. Наша полоса нитей из используемого блока.

Заметим, что x-размерность блока 512, то есть, мы можем сложить за один раз векторы, длина которых N // Функция сложения двух векторов
__global__ void addVector( float * left, float * right, float * result)
<
//Получаем id текущей нити.
int idx = threadIdx.x;

Таким образом, распараллеливание будет выполнено автоматически при запуске ядра. В этой функции так же используется встроенная переменная threadIdx и её поле x, которая позволяет задать соответствие между расчетом элемента вектора и нитью в блоке. Делаем расчет каждого элемента вектора в отдельной нити.

Пишем код, которые отвечает за 1 и 2 пункт в программе:

#define SIZE 512
__host__ int main()
<
//Выделяем память под вектора
float * vec1 = new float [SIZE];
float * vec2 = new float [SIZE];
float * vec3 = new float [SIZE];

//Инициализируем значения векторов
for ( int i = 0; i //Указатели на память видеокарте
float * devVec1;
float * devVec2;
float * devVec3;


dim3 gridSize = dim3(1, 1, 1); //Размер используемого грида
dim3 blockSize = dim3(SIZE, 1, 1); //Размер используемого блока

Теперь нам остаеться скопировать результат расчета из видеопамяти в память хоста. Но у функций ядра при этом есть особенность – асинхронное исполнение, то есть, если после вызова ядра начал работать следующий участок кода, то это ещё не значит, что GPU выполнил расчеты. Для завершения работы заданной функции ядра необходимо использовать средства синхронизации, например event’ы. Поэтому, перед копированием результатов на хост выполняем синхронизацию нитей GPU через event.

Код после вызова ядра:

//Выполняем вызов функции ядра
addVector >>(devVec1, devVec2, devVec3);

//Хендл event’а
cudaEvent_t syncEvent;

cudaEventCreate(&syncEvent); //Создаем event
cudaEventRecord(syncEvent, 0); //Записываем event
cudaEventSynchronize(syncEvent); //Синхронизируем event

Рассмотрим более подробно функции из Event Managment API.

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu
Рис. 4. Синхронизация работы основоной и GPU прграмм.

На рисунке 4 блок «Ожидание прохождения Event’а» и есть вызов функции cudaEventSynchronize.

Ну и в заключении выводим результат на экран и чистим выделенные ресурсы.

cudaFree(devVec1);
cudaFree(devVec2);
cudaFree(devVec3);

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

Заключение

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

Источник

История потоковых мультипроцессоров Nvidia

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

Последние выходные я потратил на освоение программирования CUDA и SIMT. Это плодотворно проведённое время закончилось почти 700-кратным ускорением моего «рейтрейсера на визитке» [1] — с 101 секунд до 150 мс.

Такой приятный опыт стал хорошим предлогом для дальнейшего изучения темы и эволюции архитектуры Nvidia. Благодаря огромному объёму документации, опубликованному за долгие годы «зелёной» командой, мне удалось вернуться назад во времени и вкратце пройтись по удивительной эволюции её потоковых мультипроцессоров.

В этой статье мы рассмотрим:

Тупик

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

Кристалл G71. Обратите внимание на оптимизацию Z-Cull, отбрасывающую фрагмент, не прошедший бы Z-тест.

Эта корреляция заставила проектировщиков угадывать расположение «узких места» конвейера для правильной балансировки каждого из слоёв. С появлением в DirectX 10 ещё одного этапа — геометрического шейдера, инженеры Nvidia столкнулись со сложной задачей балансировки кристалла без знания того, насколько активно будет использоваться этот этап. Настало время для перемен.

Tesla

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

Nvidia решила проблему роста сложности при помощи «объединённой» архитектуры Tesla, выпущенной в 2006 году.

В кристалле G80 больше не было различий между слоями. Благодаря возможности выполнения вершинного, фрагментного и геометрического «ядра», потоковый мультипроцессор (Stream Multiprocessor, SM) заменил все существовавшие ранее блоки. Уравновешивание нагрузки выполнялось автоматически, благодаря замене выполняемого каждым SM «ядра» в зависимости от требований конвейера.

«Фактически, мы выбросили всю шейдерную архитектуру NV30/NV40 и с нуля создали новую, с новой общей архитектурой универсальных процессоров (SIMT), в которой также были введены новые методологии проектирования процессоров».

Джона Албен (интервью extremetech.com)

Больше не имеющие возможности выполнять инструкции SIMD «блоки шейдеров» превратились в «ядра», способные выполнять по одной целочисленной инструкции или по одной инструкции с float32 за такт. SM получает потоки в группах по 32 потока, называемых warp. В идеале все потоки одного warp выполняют одновременно одну и ту же инструкцию, только для разных данных (отсюда и название SIMT). Многопотоковый блок инструкций (Multi-threaded Instruction Unit, MT) занимается включением/отключением потоков в warp-е в случае, если их указатель инструкций (Instruction Pointer, IP) сходится/отклоняется.

Два блока SFU помогают выполнять сложные математические вычисления, например, обратный квадратный корень, sin, cos, exp и rcp. Эти блоки также способны выполнять по одной инструкции за такт, но поскольку их только два, скорость выполнения warp-а делится на четыре. Аппаратная поддержка float64 отсутствует, вычисления выполняются программно, что сильно влияет на скорость выполнения.

SM реализует свой максимальный потенциал, когда способен скрывать задержки памяти благодаря постоянному наличию диспетчеризируемых warp-ов, но также когда поток в warp-е не отклоняется (управляющая логика удерживает его на одном пути выполнения инструкций). Состояния потоков хранятся в 4-килобайтных файлах регистров (Register File, RF). Потоки, занимающие слишком большое пространство в стеке, снижают количество возможных потоков, которые могут выполняться одновременно, понижая при этом производительность.

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

G80, установленный в 8800 GTX. Render Output Units (ROP) занимаются выполнением сглаживания.

Вместе с Tesla компания Nvidia представила язык программирования C для Compute Unified Device Architecture (CUDA) — надмножество языка C99. Это понравилось энтузиастам GPGPU, приветствовавшим альтернативу обмана GPU при помощи текстур и шейдеров GLSL.

Хотя в этом разделе я в основном рассказываю о SM, это была только одна половина системы. В SM необходимо передавать инструкции и данные, хранящиеся в памяти GPU. Чтобы избежать простоев, GPU не пытаются минимизировать переходы в память при помощи больших кешей и прогнозирования, как это делают CPU. GPU пользуются задержкой, насыщая шину памяти для удовлетворения потребностей ввода-вывода тысяч потоков. Для этого кристалл (например, G80) реализует высокую пропускную способность памяти при помощи шести двусторонних шин памяти DRAM.

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

GPU пользуются задержками памяти, в то время как CPU скрывают их при помощи огромного кеша и логике прогнозирования.

Fermi

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

Tesla была рискованным ходом, оказавшимся очень успешным. Она была настолько успешной, что стала фундаментом для GPU компании NVidia на следующие два десятка лет.

«Хотя с тех пор мы, конечно же, внесли серьёзные архитектурные изменения (Fermi была серьёзным изменением архитектуры системы, а Maxwell стал ещё одним крупным изменением в проектировании процессоров), фундаментальная архитектура, представленная нами в G80, и сегодня осталась такой же [Pascal]».

Джона Албен (интервью extremetech.com)

Модель выполнения по-прежнему основана на warp-ах из 32 потоков, диспетчеризируемых в SM. NVidia удалось удвоить/учетверить все показатели только благодаря 40-нанометровому техпроцессу. Благодаря двум массивам из 16 ядер CUDA, SM теперь мог одновременно диспетчеризировать два полу-warp-а (по 16 потоков). При том, что каждое ядро выполняло по одной инструкции за такт, SM по сути был способен исключать по одной инструкции warp за такт (в четыре раза больше, чем у SM архитектуры Tesla).

Количество SFU также увеличилось, однако не так сильно — мощность всего лишь удвоилась. Можно прийти к выводу, что инструкции такого типа использовались не очень активно.

Присутствует полуаппаратная поддержка float64, при которой комбинируются операции, выполняемые двумя ядрами CUDA. Благодаря 32-битном АЛУ (в Tesla оно было 24-битным) GF100 может выполнять целочисленное умножение за один такт, а из-за перехода от IEEE 754-1985 к IEEE 754-2008 имеет повышенную точность при работе с конвейером float32 при помощи Fused Multiply-Add (FMA) (более точного, чем используемое в Tesla MAD).

С точки зрения программирования, объединённая система памяти Fermi позволила дополнить CUDA C такими возможностями C++, как объект, виртуальные методы и исключения.

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

GF100, установленный в GeForce GTX 480. Обратите внимание на шесть контроллеров памяти, обслуживающих GPC.

Kepler

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

В Kepler компания Nvidia значительно улучшила энергоэффективность кристалла, снизив тактовую частоту и объединив частоту ядер с частотой карты (ранее их частота различалась вдвое).

Такие изменения должны были привести к снижению производительности. Однако благодаря вдвое уменьшившемуся техпроцессу (28 нанометров) и замене аппаратного диспетчера на программный, Nvidia смогла не только разместить на чипе больше SM, но и улучшить их конструкцию.

Next Generation Streaming Multiprocessor (SMX) — это монстр, почти все показатели которого были удвоены или утроены.

Благодаря четырём диспетчерам warp-ов, способным на обработку целого warp-а за один такт (Fermi мог обрабатывать только половину warp-а), SMX теперь содержал 196 ядер. Каждый диспетчер имел двойную диспетчеризацию, позволявшую выполнять вторую инструкцию в warp-е, если она была независима от текущей исполняемой инструкции. Двойная диспетчеризация была не всегда возможна, потому что один столбец из 32 ядер был общим для двух операций диспетчеризации.

Такая схема усложнила логику диспетчеризации (к этому мы ещё вернёмся), но благодаря выполнению до шести инструкций warp-ов за такт SMX обеспечивал удвоенную производительность по сравнению с SM архитектуры Fermi.

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

GK104, установленный в GeForce GTX 680.

Обратите внимание на полностью переделанные подсистемы памяти, работающие с захватывающей дух частотой 6 ГГц. Они позволили снизить количество контроллеров памяти с шести до четырёх.

Maxwell

Важнейшим решением стал отказ от структуры Kepler с количеством ядер CUDA в SM, не являющимся степенью двойки: некоторые ядра стали общими и вернулись в работе в режиме половины warp-ов. Впервые за всю историю архитектуры SMM имел меньше ядер, чем его предшественник: «всего» 128 ядер.

Согласование количества ядер и размера warp-ов улучшило сегментацию кристалла, что привело к экономии площади и энергии.

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

Один SMM 2014 года имел столько же ядер (128), сколько вся карта GTX 8800 в 2006 году.

Второе поколение Maxwell (описанное в технической документации GM200 [9] ) значительно повысило производительность, сохранив при этом энергоэффективность первого поколения.

Техпроцесс оставался на уровне 28 нанометров, поэтому инженеры Nvidia не могли для повышения производительности прибегнуть к простой миниатюризации. Однако уменьшение количества ядер SMM снизило их размер, благодаря чему на кристалле удалось разместить больше SMM. По сравнению с Kepler, второе поколение Maxwell удвоило количество SMM, при этом всего на 25% увеличив площадь кристалла.

В списке усовершенствований также можно найти упрощённую логику диспетчеризации, позволившую снизить количество избыточных повторных вычислений диспетчеризации и задержку вычислений, что обеспечило повышение оптимальности использования warp-ов. Также на 15% была увеличена частота памяти.

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

GM200, установленный в GeForce GTX 980 Ti.

Pascal

В 2016 году Nvidia представила Pascal. Техническая документация GP104 [11] оставляет ощущение дежавю, потому что Pascal SM выглядит точно так же, как Maxwell SMM. Отсутствие изменений SM не привело к стагнации производительности, потому что 16-нанометровый техпроцесс позволил разместить больше SM и снова удвоить количество гигафлопс.

Среди других серьёзных улучшений была система памяти, основанная на совершенно новой GDDR5X. 256-битный интерфейс памяти благодаря восьми контроллерам памяти обеспечивал скорости передачи в 10 гигафлопс, увеличив на 43% пропускную способность памяти и снизив время простоя warp-ов.

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

GP104, установленный в GeForce GTX 1080.

Turing

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

Кроме новых ядер, в Turing появилось три важные особенности. Во-первых, ядро CUDA теперь стало суперскалярным, что позволяет параллельно выполнять инструкции с целыми числами и с числами с плавающей запятой. Если вы застали 1996 год, то это может напомнить вам об «инновационной» архитектуре Pentium компании Intel.

Во-вторых, новая подсистема памяти на GDDR6X, поддерживаемая 16 контроллерами, способна теперь обеспечивать 14 гигафлопс.

В-третьих, потоки теперь не имеют общих указателей инструкций (IP) в warp-е. Благодаря появившейся в Volta диспетчеризации Independent Thread Scheduling, каждый поток имеет собственный IP. В результате этого SM способны гибче настраивать диспетчеризацию потоков в warp-е без необходимости как можно более быстрого их схождения.

Что ждёт нас дальше

По слухам, следующая архитектура под кодовым названием Ampere будет объявлена в 2020 году. Так как Intel доказала на примере Ice Lake, что по-прежнему существует потенциал миниатюризации при помощи 7-нанометрового техпроцесса, почти нет сомнения в том, что Nvidia использует его для дальнейшего уменьшения SM и удвоения производительности.

Что такое nvidia gpu. Смотреть фото Что такое nvidia gpu. Смотреть картинку Что такое nvidia gpu. Картинка про Что такое nvidia gpu. Фото Что такое nvidia gpu

Терафлопс/с для каждого кристалла/карты Nvidia (источник данных: techpowerup.com).

Интересно будет посмотреть, как Nvidia продолжит эволюцию идеи кристаллов, имеющих три типа ядер, выполняющих разные задачи. Увидим ли мы кристаллы, целиком состояние из Tensor-ядер или RT-ядер? Любопытно.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *