Шина памяти видеокарты что это: Что такое разрядность шины памяти видеокарты и почему она не важна

Содержание

Так ли необходима шина памяти 256-бит в видеокартах middle-end? Теория и практика. / Видеокарты

3DNews Видеокарты Общая информация Так ли необходима шина памяти 256-бит в …

Самое интересное в новостях

Ограничение производительности видеокарт среднего класса из-за «узкой» шины памяти 128-бит сильно преувеличено. Отбросьте сожаления, мы практически ничего не теряем

Данный материал является скорее теоретическим (по крайней мере – в большей своей части) и посвящен изучению влияния ширины шины видеопамяти на производительность графических ускорителей. Казалось бы, что тут тестировать? И так понятно, что видеокарты с шириной шины памяти 256-бит будут более производительны, чем такие же видеокарты у которых ширина шины памяти 128-бит, к примеру. Но не спешите с выводами. Может быть, относительно слабым графическим процессорам широкая шина памяти и не нужна? Когда разработчики видеочипов «урезают» ширину шины видеопамяти — это намеренное создание «бюджетного» решения (с целью вписаться в нужный ценовой диапазон) или же трезвый расчет, основанный на том, что больше то и не надо? С этими вопросами мы и попытаемся разобраться.

Для экспериментов мы решили взять довольно старую видеокарту – GeForce 7600GT. В момент появления на рынке данный продукт являлся типичным представителем среднего класса и обладал всеми ключевыми особенностями middle-end решения. Это и шина памяти 128-бит, и относительно слабый видеопроцессор. Выбор данной видеокарты обусловлен тем, что к ней в пару можно подобрать аналог, практически не отличающийся по производительности видеопроцессора, но обладающий шиной памяти 256-бит. Многие наверное уже догадались, что мы имеем ввиду, однако подробно мы расскажем об этом чуть позже. А пока попробуем выяснить, насколько шина памяти шириной 128-бит ограничивает производительность GPU на видеокарте 7600GT.

Предварительные замечания

В качестве мерила производительности видеокарты мы будем использовать количество FPS (кадров/сек), которое видеокарта покажет в тесте Quake 4. Разрешение экрана выбиралось равным 1280х1024 точек и оставалось неизменным на протяжении всех тестов. Это типичное разрешение большинства современных мониторов с диагональю 17-19 дюймов. Графический режим в самой игре устанавливался на “High Quality”, с помощью видеодрайверов выбирались режимы тестирования “NO AA/AF” или “4AA/16AF”. В качестве тестовой платформы использовался следующий тестовый стенд:

Данный стенд не является чемпионом по производительности среди современных CPU. Тем не менее, как неоднократно показывалось, при тестировании видеокарт middle-end производительность центрального процессора не является ограничивающим фактором. Стандартные частоты GeForce 7600GT составляют 560/700 МГц для GPU/видеопамяти соответственно. Для видеопамяти указана реальная частота в мегагерцах, а не эффективная (1400 МГц DDR), так сделано лишь для удобства построения графиков. Из этих же соображений мы будем задавать исходную частоту для видеопроцессора 7600GT равной не 560 МГц, а 600 МГц ровно.

Тестирование

В чем будет заключаться тестирование? Как вообще узнать, насколько ширина шины памяти ограничивает производительность GPU? Давайте будем рассматривать ситуацию следующим образом. У нас есть видеокарта, которая выполняет определенную «работу», и по величине FPS на выходе мы будем делать те или иные заключения. В нашем распоряжении имеется два параметра, которые мы можем изменять – частоту GPU и частоту видеопамяти видеокарты. Очевидно, что частота видеопамяти прямо определяет пропускную способность видеопамяти, при прочих неизменных параметрах (типа ширины шины памяти). Чтобы определить, насколько производительность видеокарты ограничивается «скоростью» видеопамяти, построим следующий график.

Мы понизили частоту видеопамяти на видеокарте 7600GT до 200 МГц (реальных), а затем увеличивали ее с шагом 50 МГц. Конечно, в реальности никто не будет добровольно понижать частоту видеопамяти, смысл в другом. Если у нас имеется два параметра, влияющих на итоговый результат, и мы предполагаем, что один из параметров является «ограничителем», то при линейном увеличении этого параметра мы должны наблюдать линейный рост итоговой величины. Чтобы проверить, так это или нет, давайте на вышеприведенном графике построим две касательные к графику, в левой и в правой части.

Как видно из графика, в левой части рост FPS с увеличением частоты видеопамяти является линейным, то есть, пропускной способности видеопамяти явно не хватает и она действительно является ограничивающим фактором. По мере роста частоты видеопамяти, касательная к графику начинает «наклоняться» в сторону оси Х, следовательно, увеличение частоты видеопамяти становится не столь эффективным средством повышения производительности видеокарты. Теоретически, если бы мы могли повышать частоту видеопамяти сколько угодно высоко, рано или поздно мы бы увидели, как линия графика стала бы параллельной оси Х, а значит общая производительность уже ограничивалась бы только мощностью видеопроцессора. Теория теорией, но можно ли такое увидеть на практике? Можно, почему нет. Раз мы не можем сильно разогнать видеопамять, давайте смоделируем подобную ситуацию, понизив производительность GPU, а частоты для видеопамяти оставив неизменными.

На следующем графике мы понизили частоту GPU на видеокарте до значения 300 МГц.

Как видите, теория получает подтверждение. Когда реальная частота видеопамяти становится вдвое больше частоты GPU, мы уже практически не получаем роста результатов, даже при ширине шины памяти 128 бит. Впрочем, данный конкретный вывод может относиться исключительно к видеопроцессору 7600GT, поэтому не будем спешить с обобщениями. Теперь посмотрим, что произойдет, если мы «утяжелим» графический режим, включив полноэкранное сглаживание и анизотропную фильтрацию.

Очевидно, что основная нагрузка ложится на видеопамять. Для частоты GPU, равной 600 МГц, мы наблюдаем практически линейный рост результатов с увеличением частоты видеопамяти. Да и для частоты GPU 300 МГц на графике уже не наблюдается горизонтальной «полочки», которая свидетельствовала бы об избыточной пропускной способности видеопамяти.

Примечательно, что в левой части графики для разных частот GPU сливаются в одну линию. По всей видимости, здесь скорость видеопамяти настолько ограничивает общую производительность, что нет разницы между GPU, работающими на частотах 600 МГц и 300 МГц. Наиболее пытливые читатели, наверное, уже задали себе вопрос – «какое же сочетание частот GPU/видеопамяти является оптимальным?». Как мы видели, при слишком низкой частоте видеопамяти GPU не может проявить себя в полную силу. Но и слишком сильно увеличивать частоту видеопамяти большого смысла нет, раз результаты перестают расти. Как обычно, однозначно ответить на данный вопрос вряд ли получится, потому что оптимальное сочетание частот зависит и от архитектуры GPU, и от «тяжести» графического режима, не говоря уже о том, что может меняться от одной игры к другой. Тем, кто предпочитает изучать проблемы с разных точек зрения, приведем еще пару графиков. Их отличие от предыдущих состоит в том, что в этот раз мы фиксировали реальную частоту видеопамяти (а не GPU) на уровнях 300 МГц и 600 МГц.
Вот что получилось для режима без AA/AF.

Если установить реальную частоту видеопамяти на GeForce 7600GT равной 300 МГц, то изменение частоты GPU вообще никак не сказывается на общей производительности, и мы получаем горизонтальную «линию насыщения» на графике. Если же частота памяти равна 600 МГц, то прирост результатов от увеличения частоты GPU более заметен, но опять же, как только частота GPU достигает 600 МГц, рост результатов практически прекращается.

Если мы построим аналогичные графики для режима 4AA/16AF, то увидим уже две «линии насыщения». Вполне закономерный результат, поскольку в более тяжелом графическом режиме производительность видеокарты «упирается» в скорость работы видеопамяти. Подведем промежуточные итоги. Как следует из вышеприведенных графиков, в наших условиях тестирования для видеокарты 7600GT, обладающей шириной шины памяти 128 бит, оптимальное отношение реальной частоты видеопамяти к частоте графического процессора составляет примерно 1,5-2 : 1. То есть, если частота видеопроцессора равна 600 МГц, частота видеопамяти должна находиться на уровне 900-1200 МГц (реальных). Рекомендованные частоты для типичной 7600GT равны 560/700 МГц для GPU/видеопамяти, следовательно, их соотношение равно 1:1,25, что несколько меньше найденного нами «оптимального» уровня. Как мы неоднократно подчеркивали, это «оптимальное» соотношение справедливо для 7600GT с шириной шины памяти 128 бит. А что будет, если мы увеличим ширину шины памяти в два раза? По идее, с точки зрения увеличения максимальной пропускной способности видеопамяти, она также возрастет вдвое, что можно было бы расценивать как удвоение рабочей частоты видеопамяти с шириной шины 128 бит и, следовательно, будет более точно соответствовать «оптимальному» соотношению частоты GPU и видеопамяти. Так это или нет, мы сейчас и попробуем выяснить.

7600GT 256-bit memory

Вы скажете, что таких видеокарт в природе не бывает. В общем-то, да, не бывает. Но есть другие видеокарты, из которых, при желании, можно получить аналог GeForce 7600GT с шириной шины памяти 256 бит. Собственно, мы так и сделали. Взяли видеокарту ASUS EN7900GS TOP, у которой штатные частоты равны 590/720 МГц и ширина шины памяти 256-бит. Затем, с помощью утилиты RivaTuner, отключили пиксельные и вершинные блоки таким образом, чтобы привести их в точное соответствие с конвейерной формулой GeForce 7600GT – 12p, 5v. Таким образом, в нашем распоряжении оказался аналог видеокарты 7600GT, обладающий похожими на 7600GT характеристиками GPU, но имеющий ширину шины памяти 256-бит вместо 128. На графиках мы будем отображать результаты этой видеокарты красным цветом. Ниже приведен график, аналогичный Графику №1 и дополненный результатами, полученными на аналоге GeForce 7600GT с шириной шины памяти 256-бит.

Очевидно, что увеличение ширины шины видеопамяти изрядно прибавляет производительности. При небольших частотах видеопамяти (левая часть графика), прирост производительности 7600GT 256-бит практически двукратный, по сравнению с обычной 7600GT 128-бит. C ростом частоты видеопамяти относительное превосходство 256-бит варианта 7600GT уменьшается, и на типовой частоте видеопамяти 700 МГц составляет всего 26%, что является вполне закономерным результатом. Выше было показано, что с ростом частоты видеопамяти, рано или поздно, мы получим на графике горизонтальную линию результатов, когда общая производительность видеокарты больше не ограничивается памятью и зависит только от GPU. Понятно, что для 256-бит варианта 7600GT такой «режим насыщения» будет достигнут быстрее. Что касается практической стороны вопроса, то 26% превосходства варианта с шириной шины памяти 256-бит над 128-битной 7600GT — это конечно существенно, но и производители видеокарт, получается, оказываются не так уж и неправы, когда в middle-end продуктах ограничиваются шиной памяти 128-бит. Ведь им, помимо чистой производительности, приходится принимать во внимание и экономические вопросы. А разработка видеопроцессора с контроллером памяти 256-бит будет сложнее, соответственно дороже, не говоря уже про усложненный и более дорогой дизайн самой печатной платы. Говоря простыми словами, не самому мощному видеопроцессору нет смысла подключать видеопамять по более широкой шине. Игра Quake 4 уже довольно старая, новые игры предъявляют к производительности GPU более высокие требования, и не факт, что даже с широкой шиной памяти средний GPU это «потянет». Проиллюстрировать это можно на простом примере. Построим еще один график, в тех же условиях что и предыдущий, но снизим частоту GPU вдвое.

И что же мы видим? При слабом GPU и номинальной частоте видеопамяти разница в результатах 7600GT 128-бит и 256-бит составляет всего 12%. Так что, если у вас слабый GPU, не нужно жаловаться на недостаток пропускной способности шины памяти. Слабый видеопроцессор просто не сможет воспользоваться ею в полной мере. Вполне возможно, что этим же фактом объясняется популярность памяти стандарта GDDR2 в сегменте видеокарт low-end, где производительность GPU настолько урезана, что ставить более скоростную видеопамять просто бессмысленно. Хорошо, с простым графическим режимом все понятно. А что будет, если мы включим полноэкранное сглаживание и анизотропную фильтрацию?

Очевидно, с возрастанием нагрузки на видеопамять прирост производительности от широкой шины памяти становится более заметен, и на типовой частоте видеопамяти 700 МГц равен 60%. Вот тут, пожалуй, можно и пожалеть, что продукты middle-end не оснащаются шириной шины памяти 256-бит (или выше). С другой стороны, много ли вы знаете современных игр, в которые можно играть с настройками 4AA/16AF на видеокартах среднего класса? Вот именно. Если и удастся выставить качественную графику в игре, то о полноэкранном сглаживании речь, как правило, не идет. И это вполне типичная ситуация для видеокарт среднего сегмента и современных им игр, которая повторяется в течение уже многих лет. Ну и, напоследок, приведем еще пару графиков. Результаты на первом из них получены в следующих условиях – изменялась частота GPU, а частота видеопамяти оставалась неизменной. Для стандартной 7600GT 128-бит частота памяти была выставлена в 600 МГц, для сэмулированной 7600GT 256-бит частота видеопамяти была установлена на значение 300 МГц. Таким образом, максимальная теоретическая пропускная способность видеопамяти у этих двух видеокарт была одинакова. Теперь посмотрим, насколько эффективно используется более широкая шина памяти в зависимости от частоты GPU.

Начиная с частоты GPU 300 МГц, видеокарта с шиной памяти 128-бит показывает более высокие результаты. Получается, что при прочих равных условиях узкая шина памяти оказывается более эффективной, с точки зрения производительности. Может быть, так происходит потому, что мы использовали простой графический режим? Давайте включим AA/AF и проверим еще раз.

Как ни странно, но и на этом графике мы видим превосходство 7600GT 128-бит над своим 256-битным аналогом, причем даже более заметное. По всей видимости, медленная, но широкая шина памяти используется не так эффективно, как узкая, но скоростная.

Заключение

Как выяснилось в ходе данного тестирования, шина памяти шириной 128-бит для видеопроцессоров класса middle-end определенно является фактором, сдерживающим производительность. Но не стоит преувеличивать степень этого ограничения. В типичных условиях использования видеокарт среднего класса – не самые высокие настройки графики в приложении и отсутствие полноэкранного сглаживания, переход к более широкой шине памяти способен добавить лишь пару десятков процентов к общей производительности видеосистемы, в то время как стоимость такого «перехода» может существенно сказаться на цене продукта. В целом, разработчики видеопроцессоров наверное правы в том, что не спешат с внедрением шины памяти 256-бит в продукты класса middle-end, как это ни грустно для нас, пользователей. Но и теряем мы не так уж и много. Хороший разгонный потенциал, который, как правило, присущ видеокартам middle-end, практически всегда позволяет скомпенсировать пару десятков «упущенных» процентов производительности видеокарты. Возможно, кого-то разочарует то, что в этом тестировании мы взяли уж очень старого представителя middle-end в лице GeForce 7600GT и «ветерана» Quake 4 в качестве тестируемого приложения. Но иначе было бы сложно подобрать точную «пару» видеокарт, отличающихся лишь шириной шины памяти, и многие нюансы не проявились бы так сильно. А использование более новой игры для тестов могло чрезмерно нагрузить «старичка» 7600GT, и опять же свести на нет разницу в результатах. Не расстраивайтесь. Мы продолжим наши исследования, и в следующих материалах изучим производительность современных представителей среднего класса в новых играх. Кстати, а вам интересно узнать, насколько эффективно используется шина памяти 512-бит в Radeon HD2900XT?

— Обсудить материал на форуме.

 

 

Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

Материалы по теме

Постоянный URL: https://3dnews.ru/266173

Теги: am2+

⇣ Комментарии

Пропускная способность памяти видеокарты и ее зависимость от «битности»

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

 

Ширина шины или сколько бит «нужно»

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

Теперь, давайте рассмотрим несколько популярных классов «битности» шин памяти:

64 бита — довольно популярный класс видеокарт бюджетного сегмента рынка. Видеокарты с такой шиной позиционируются для «облагораживания» бюджетных систем (но и то, там зачастую царят интегрированные решения), а также домашних ПК с нетребовательными задачами к графической производительности системы. Особенно смешно смотрятся такие видеокарты с большим объёмом видеопамяти на борту.

128 бит – средний класс. Изредка, можно увидеть в бюджетных видеокартах, и очень часто в видеокартах middle-сегмента. Зачастую, такие видеокарты пригодны для полноценных домашних систем, с довольно широкими игровыми задачами, но часть игр всё равно будет «неподъёмной» для данного класса.

256 и 384 бит – топовый класс. Зачастую, «идёт» в сочетании с отменными частотными показателями, как памяти, так и ядра, безусловно, – это максимальная игровая производительность для всего и сразу.

Но, хотелось бы подчеркнуть, что данная классификация является очень и очень условной, потому что нельзя оценивать видеокарту по одной лишь ширине шины памяти. К тому же, сама по себе «битность», влияет на производительность лишь с жёсткой зависимостью от частоты видеопамяти. Эти два параметра рассчитывают пропускную способность памяти видеокарты (ПСП).

Поэтому, чтобы уверенно говорить относительно оптимальной величины шины, нужно рассматривать всё в комплексе, то есть, саму ПСП. Чем мы сейчас и займёмся.

Пропускная способность памяти

Как уже говорилось выше, данный показатель зависит от двух параметров: частоты памяти и ширины шины.
С помощью нехитрой формулы можно найти пропускную способность памяти, к примеру, какой-нибудь из видюшек на чипе Radeon HD 7970.
Возьмем модель с эффективной частотой памяти 6000 МГц и шириной шины 384 бита (48 байт если перевести). ПСП= эффективная частота памяти х ширину шины памяти = 6000 х 48 = 288 Гбайт/с. Величину ПСП также можно посмотреть с помощью специальных программ, к примеру, GPU-z.

Также, предлагаю ознакомиться с довольно интересной шкалой актуальности ПСП современных видеокарт. Конечно, тут тоже всё очень неоднозначно — ведь «не одной лишь ПСП живём», но всё же, вполне логичную зависимость можно отследить:

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

ПСП на пару с шириной шины, не сделают «погоды», если видюшка укомплектована слабым графическим процессором, с плохими частотными показателями. GPU просто не сможет «переваривать» те объёмы данных, которые буду поступать по более быстрой шине.

Поэтому, как итог, можно еще раз смело напомнить: баланс и еще раз баланс!


Пропускная способность памяти графического процессора

Фото Рафаэля Пола / Unsplash

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

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

Базовая структура графического процессора

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

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

Схема печатной платы Nvidia GTX 780, источник

Для видеокарты вычислительный блок (GPU) подключен к блоку памяти (VRAM, сокращение от Video Random Access Memory) через шину, называемую интерфейсом памяти.

Компьютерная система имеет множество интерфейсов памяти. Интерфейс памяти — это физическая разрядность шины памяти по отношению к графическому процессору. Данные передаются во встроенную память и из нее каждый такт (миллиарды раз в секунду). Физическое количество битов, которые могут поместиться на шине каждый такт, является шириной этого интерфейса, который обычно описывается как «384-битный» или что-то подобное. 384-битный интерфейс памяти позволяет передавать 384 бита данных за каждый такт. Таким образом, при установлении максимальной пропускной способности памяти на графическом процессоре интерфейс памяти также является важной частью расчета пропускной способности памяти. В результате NVIDIA и AMD с большей вероятностью будут использовать стандартизированные последовательные шины «точка-точка» в своих видеокартах. Стандарт POD125, например, используется графическими картами серии A4000, A5000 и A6000 NVIDIA Ampere, которые вы можете найти для пользователей Paperspace, что по существу описывает протокол связи с GDDR6 vRAM.

Когда дело доходит до пропускной способности памяти, задержка является вторым фактором, который следует учитывать. Первоначально были реализованы шины общего назначения, такие как VMEbus и шина S-100, но современные шины памяти предназначены для прямого подключения к микросхемам VRAM для уменьшения задержки.

В случае памяти GDDR5 и GDDR6, которые являются одной из новейших форм стандартов памяти GPU. Каждая память состоит из двух микросхем, каждая из которых имеет 32-разрядную шину (две параллельные 16-разрядные), что позволяет осуществлять несколько одновременных обращений к памяти. В результате GPU с 256-битным интерфейсом памяти будет иметь восемь микросхем памяти GDDR6.

Другим стандартом для типов памяти являются HBM и HBM2 (память с высокой пропускной способностью v1 и v2). В соответствии с этими стандартами каждый интерфейс HBM имеет 1024-битную разрядность, что обычно обеспечивает более высокую пропускную способность, чем у GDDR5 и GDDR6.

Внешнее соединение PCI-Expression между материнской платой и видеокартой не следует путать с этим интерфейсом внутренней памяти. Эта шина также характеризуется своей пропускной способностью и скоростью, хотя она на порядки медленнее.

Начало работы

Что такое пропускная способность памяти графического процессора?

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

Абсолютная пропускная способность памяти в потребительских устройствах увеличилась на несколько порядков с начала 19 века.Домашние компьютеры 80-х годов (~ 1 МБ/с), но доступные вычислительные ресурсы росли еще быстрее, и единственный способ избежать постоянного ограничения пропускной способности — обеспечить, чтобы рабочие нагрузки и ресурсы имели одинаковый порядок величины с точки зрения размера памяти и пропускной способности.

Давайте взглянем, например, на один из самых современных графических процессоров, ориентированных на машинное обучение, NVIDIA RTX A4000:

Он поставляется с 16 ГБ памяти GDDR6, 256-битным интерфейсом памяти (количество отдельных каналов на шине между графическим процессором и видеопамятью) и поразительное количество ядер CUDA, достигающее 6144. Со всеми этими характеристиками, связанными с памятью, A4000 может достигать пропускной способности памяти 448 ГБ/с.

Другие графические процессоры, доступные для пользователей Gradient, также обладают некоторыми высокопроизводительными характеристиками памяти:

GPU виртуальная оперативная память Ширина интерфейса памяти Пропускная способность памяти
Р4000 8 ГБ GDDR5 256 бит 243 ГБ/с
Р5000 16 ГБ GDDR5X 256 бит 288 ГБ/с
Р6000 24 ГБ GDDR5X 384-битный 432 ГБ/с
В100 32 ГБ HBM2 4096 бит 900 ГБ/с
RTX4000 8 ГБ GDDR6 256 бит 416 ГБ/с
RTX5000 16 ГБ GDDR6 256 бит 448 ГБ/с
А4000 16 ГБ GDDR6 256 бит 448 ГБ/с
А5000 24 ГБ GDDR6 384-битный 768 ГБ/с
А6000 48 ГБ GDDR6 384-битный 768 ГБ/с
А100 40 ГБ HBM2 5120-бит 1555 ГБ/с

Зачем нам нужна высокая пропускная способность памяти для приложений машинного обучения?

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

Наиболее распространенное использование графического процессора демонстрирует указанное выше ограничение. Например, программа обучения модели будет загружать обучающие данные в ОЗУ GDDR и выполнять несколько прогонов слоя нейронной сети в вычислительных ядрах по несколько часов за раз. Таким образом, отношение пропускной способности шины PCI к внутренней пропускной способности графического процессора может достигать 20 к одному.

Объем требуемой пропускной способности памяти полностью зависит от типа проекта, над которым вы работаете. Например, если вы работаете над проектом глубокого обучения, в котором используются большие объемы данных, которые передаются, повторно обрабатываются и постоянно восстанавливаются в памяти, вам потребуется более широкая пропускная способность памяти. Для проекта машинного обучения на основе видео и изображений требования к памяти и пропускной способности памяти не такие низкие, как для проекта обработки естественного языка или обработки звука. Для большинства средних проектов хорошим приблизительным значением является значение от 300 до 500 ГБ/с. Это не всегда так, но обычно пропускной способности памяти достаточно для размещения широкого спектра приложений машинного обучения визуальных данных.

Рассмотрим пример проверки требований к пропускной способности памяти для глубокого обучения: займет около 0,8 ГБ памяти. Таким образом, во время параллельных вычислений с мини-пакетом размером, например, 32, нам потребуется 25,6 ГБ памяти для загрузки во время каждого прохода модели. С таким графическим процессором, как A100, способным выполнять 19,5 терафлопс, и учитывая, что модель ResNet использует 497 GFLOP за один проход (в случае размера объекта 7 x 7 x 2048) мы сможем выполнить около 39 полных проходов в секунду, что приведет к потребности в пропускной способности 998 ГБ/с. Таким образом, A100 с его пропускной способностью 1555 ГБ/с сможет эффективно работать с этой моделью и избежать узких мест.

Как оптимизировать модели для более низкой пропускной способности памяти?

Алгоритмы машинного обучения в целом и глубокие нейронные сети в области компьютерного зрения в частности вызывают большой объем памяти и пропускной способности памяти. Некоторые методы можно использовать для развертывания моделей машинного обучения в условиях ограниченных ресурсов или даже в мощных облачных службах машинного обучения, чтобы сократить затраты и время. Вот некоторые из стратегий, которые могут быть реализованы:

Частичная подгонка: Если набор данных слишком велик и не помещается за один проход. Вместо того, чтобы подгонять модель под все данные сразу, эта функция позволяет подгонять модель к данным поэтапно. Таким образом, он берет часть данных, подгоняет ее для получения вектора весов, затем переходит к следующей части данных, подгоняет ее для получения другого вектора весов и так далее. Излишне говорить, что это снижает использование VRAM при увеличении продолжительности обучения. Самый существенный недостаток заключается в том, что не все алгоритмы и реализации используют частичное соответствие или могут быть технически приспособлены для этого. Тем не менее, его следует учитывать везде, где это возможно.

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

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

Заключение

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

Начало работы

Общие сведения о пропускной способности видеопамяти

Информация о видеокарте
  • Как выбрать видеокарту
  • Как установить видеокарту
  • Как устранить проблемы с видеокартой
  • Большой толстый стол видеокарт
  • Совместимость с AGP для приверженцев
  • Совместимость с DVI для приверженцев
  • Поиск и устранение неисправностей АГП
  • Устранение неполадок видеокарты путем разгона
  • Диагностируйте проблемы с видеокартой, сравнивая с примерами поврежденных экранов
  • Устранение неполадок DVI
  • Основы 3D-графики без затуманивания глаз — достаточно, чтобы начать
  • Как удалить текущие драйверы дисплея
  • Как установить драйверы дисплея для вашей видеокарты
  • Общие сведения о пропускной способности видеопамяти RAM
  • Какой слот расширения следует использовать для видеокарты?
  • Выходы видеокарты VGA

Общие сведения о пропускной способности видеопамяти

Основы пропускной способности памяти

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

Пропускная способность памяти определяется тактовой частотой памяти, типом памяти и ширина памяти. Тактовая частота памяти — это тактовая частота микросхем памяти. Текущие (2006 г.) микросхемы памяти имеют тактовую частоту от 167 МГц к 1000 МГц. Самый распространенный тип памяти — удвоенная скорость передачи данных. (ГДР) это означает, что он передает два значения памяти за каждый такт памяти. Существуют также другие виды памяти DDR, такие как DDR2, GDDR3 и GDDR4, и они также передача с удвоенной тактовой частотой памяти. Некоторые очень старые видеокарты до сих пор используют Единая скорость передачи данных (SDR), которая передает одно значение за такт. Память ширина общих карт варьируется от 32 бит до 256 бит. Максимум теоретическая пропускная способность памяти является произведением часов памяти, передачи за такт в зависимости от типа памяти и ширины памяти. Для Например, видеокарта с видеопамятью DDR 200 МГц и разрядностью 128 бит имеет полоса пропускания 200 МГц, умноженная на 2, умноженная на 128 бит, что составляет 6,4 ГБ/с. Эта таблица содержит видеопамять пропускная способность для многих видеокарт в своем Столбец скорости оперативной памяти. Если вы посмотрите на эти пропускные способности памяти, вы увидите, насколько они различаются между быстрыми видеокартами и медленными.

Будьте внимательны к объему памяти при покупке младших видеокарт!

Если вы проверите таблицу видеокарт внимательно, вы заметите, что есть некоторые недорогие видеокарты, которые могут поставляются с 64-битной или 128-битной шириной памяти. Есть также несколько карт который может быть 32-битным или 64-битным. Например, Радеон 9550. поставляется как в 128-битной модели и 64-битная модель. компании разрабатывают графические процессоры для поддержки определенной ширины памяти. Объем памяти соответствует потребностям графического процессора. К сожалению, производители видеокарт часто делают немного дешевле модели, которые используют более дешевую видеопамять, которая использует только половину ширины доступны на графическом процессоре. Это сокращает пропускную способность памяти вдвое и почти всегда серьезно вредит производительности видеокарты. Те самые «полуширины» модели обычно проводят много времени с GPU, ничего не делая в ожидании для ответа медленной видеопамяти. Самое печальное то, что карты полной ширины обычно лишь немного дороже, чем карты половинной ширины. карты. Карты половинной ширины, как правило, очень плохая сделка, если вас это вообще волнует. о производительности. К сожалению, многие веб-сайты, продающие эти видео карты не сообщают вам объем памяти или дают неверное значение. я не просто говоря о веб-сайтах-однодневках. Некоторые из крупнейших веб-сайтов, которые ширина памяти списка часто указывает значение полной ширины даже для половины ширины версии видеокарты. А если вы покупаете видеокарты в рознице магазине, прочитав спецификации на коробке, у вас все еще проблемы, потому что большинство карт половинной ширины вообще не указывают ширину своей памяти.

Итак, вопрос в том, как определить, покупаете ли вы половинную ширину или полноформатная карта? Некоторые производители достаточно любезны, чтобы предоставить точные спецификации, которые обеспечивают тактовую частоту и ширину памяти. Так что самый безопасный Чтобы убедиться в этом, нужно поискать именно ту модель, которая вас интересует, на сайте производителя и ознакомьтесь с техническими характеристиками. Говоря из опыт, с младшими картами у вас есть примерно 50/50 шансов получить необходимую информацию с сайта производителя. И если информация есть на сайтах производителей, все равно не всегда можно доверять это. Я видел несколько случаев, когда веб-сайты производителей перечисляли значение полной ширины для некоторых моделей половинной ширины. Сомневаюсь, что это специально. Это обычно просто выглядит как ошибка. Вы также должны быть осторожны, когда читая характеристики видеокарты, потому что многие вещи, которые звучат как ширина видеопамяти на самом деле не имеет к этому никакого отношения. Ни один из следующие описания имеют какое-либо отношение к ширине памяти.

  • 128-битная точность цвета с плавающей запятой обеспечивает больший диапазон цветов и яркости
  • Высокооптимизированный 128-битный движок 2D с поддержкой новых расширений WindowsXP GDI
  • 128-битная точность с плавающей запятой студийного качества во всем графическом конвейере
  • Встроенная поддержка режимов рендеринга 128-битных с плавающей запятой, 64-битных с плавающей запятой и 32-битных целых чисел
  • Истинная 128-битная студийная точность цвета
  • 256-битная графическая архитектура
  • 64-битная фильтрация текстур с плавающей запятой и смешивание
  • Тактовая частота двигателя 250 МГц
  • Скорость заполнения 3,8 миллиарда текселей/с

Все последующие описания относятся к системам видеопамяти.

Описание Тип памяти Часы памяти Объем памяти Полоса пропускания
64/128-битный расширенный интерфейс памяти ? ? 64 бита или 128 бит ?
128-битный расширенный интерфейс памяти ? ? 128 бит ?
16/32 МБ SDRAM СДР ? ? ?
128/256 МБ DDR SDRAM ГДР ? ? ?
Тактовая частота памяти 400 МГц ? 400 МГц ? ?
Пропускная способность памяти 8,0 ГБ/с (128 бит, 500 МГц) ГДР 250 МГц 128 бит 8,0 ГБ/с
Пропускная способность памяти 30,4 ГБ/с ? ? ? 30,4 ГБ/с

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

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

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

Теперь вам нужно проверить пакеты чипов RAM. «Пакет» относится к черная пластиковая упаковка, в которой находится чип. На рисунках ниже показаны наиболее распространенные пакеты микросхем ОЗУ.

Вам нужно проверить, какой тип упаковки используют чипы RAM. TSOP (тонкие маленькие контурный пакет) имеют штифты (маленькие металлические провода, торчащие по бокам черная пластиковая часть) на противоположных сторонах упаковки. TSOP 66 имеет 66 булавки и является очень распространенным пакетом. TSOP 86 имеет 86 контактов и намного меньше. общий. Возможно, вам придется внимательно посмотреть на изображения видеокарты и посчитайте булавки, чтобы понять, на какую из них вы смотрите. TQFP 100 (тонкий quad flat pack) упаковка имеет в общей сложности 100 булавок, торчащих со всех четырех сторон его пакета. BGA 144 (решетка с шариками) на самом деле не имеет контактов. которые вы можете видеть. Под упаковкой 144 шарика припоя, но это не сложно идентифицировать пакеты BGA, потому что это просто маленькие пакеты с нет видимых пинов.

Причина, по которой вам необходимо распознавать упаковку чипов, заключается в том, что она помогает вам угадайте, насколько «широк» чип ОЗУ. Чипы оперативной памяти — это определенное количество бит широкий. Наиболее распространенные микросхемы оперативной памяти, используемые сейчас (конец 2006 г.), имеют разрядность 16 или более бит. 32 бита в ширину. Их обычно называют «x16» и «x32», которые произносится «к 16» и «к 32». Единственный способ быть абсолютно уверенным в ширина чипа ОЗУ, чтобы прочитать номер производителя с верхней части чип, а затем посмотрите его (обычно довольно легко с Google). Но виды фотографий, которые вы найти на веб-сайтах редко бывают достаточно четкими, чтобы вы могли прочитать цифры, поэтому вы застряли, угадывая ширину ОЗУ, глядя на пакеты. TSOP 66 может иметь ширину не более 16 бит. TSOP 66 иногда может быть 8 битов, но это очень редко встречается на любой видеокарте, которую вы, вероятно, столкнуться. Если вы смотрите на TSOP 66 на видеокарте, выпущенной примерно 2000, это почти наверняка чип оперативной памяти x16. TSOP 66 является «стандартом». Чип оперативной памяти x16, поэтому он очень распространен. TSOP 86 встречается гораздо реже и обычно чип x32. TQFP 100 почти всегда представляет собой чип x32. Корпуса BGA могут немного различаются, но оперативная память BGA на видеокартах почти всегда x32. Итак, если вы глядя на TSOP 66, это, вероятно, чип x16. Если у вас есть какие-либо другие три пакета, показанные выше, это, вероятно, чип x32. Если у вас есть что-нибудь в противном случае вам просто нужно обойтись тем, что вы можете найти на сайт производителя.

Чтобы выяснить общую ширину памяти практически всех современных видеокарт, все вам нужно умножить ширину каждой оперативной памяти на общее количество оперативной памяти фишки на карту. К сожалению, есть некоторые исключения для «умножения». правило, но они довольно редки. Некоторые очень старые видеокарты не следуют правило, но вы не должны покупать их в любом случае. Другим исключением является карта, на которой правило умножения дает вам результат, вдвое превышающий максимальный количество бит, поддерживаемое графическим процессором. В таком случае, конечно, настоящая память ширина — это максимальное количество бит, поддерживаемое графическим процессором. Этот случай всплывает иногда, когда производитель использует одну и ту же печатную плату для двух моделей: один с определенным объемом оперативной памяти (например, 128 МБ), а другой с вдвое большим объем оперативной памяти (например, 256 МБ), но обе модели поддерживают максимальную ширину памяти.

Если вы рассматриваете недорогие карты, то есть один очень распространенный случай. Берегись. На изображении выше показан GeForce FX 5700 LE со 128 мегабайтами. видеопамяти. Эта конкретная карта имеет две модели: 128 МБ модель и модель на 256 МБ. В нем есть место для восьми микросхем ОЗУ на печатной плате, но модель на 128 МБ использует только четыре микросхемы оперативной памяти. Модель на 256 МБ имеет все восемь микросхем оперативной памяти. Если вы проверите столбец ширины ОЗУ в таблице видеокарт, вы увидите, что ширина FX 5700 LE может быть 64 бита или 128 бит. Многие производители просто изготовьте одну печатную плату для моделей на 128 МБ и 256 МБ. Тогда они включают только четыре чипа RAM, чтобы сделать карты на 128 МБ. К сожалению, это сокращает ширину памяти вдвое в каждом примере, который я смог проверить. Карта, показанная выше, является картой шириной 64 бита. Чрезвычайно часто можно найти веб-сайты, продающие 128-мегабайтную версию, которые утверждают, что это 128-битная карта даже если он на самом деле имеет ширину 64 бита. Вы также часто встречаете этот случай с GeForce FX 5200s, Радеон 9200, Radeon 9250, Radeon 9550 и другие.

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

Гиперпамять и TurboCache

И ATI, и NVIDIA (два крупных графический процессор производители) разработали недорогие видеокарты, которые усложняют всю память проблема с пропускной способностью. Реализация NVIDIA называется ТурбоКэш. ATI называется Гиперпамять. Карты, которые реализуют TurboCache, часто называют моделями «TC» и HyperMemory. часто сокращается до «HM». Вам нужно остерегаться таких карт потому что их системы памяти сильно отличаются от большинства видеокарт.

Оба этих вида видеокарт заимствуют БАРАН из материнская плата использовать как видеопамять. Эти видеокарты имеют общий полезный объем оперативной памяти, который является суммой обоих видеопамять фактически на видеокарте плюс оперативная память, заимствованная из материнская плата. Эти карты производятся, потому что дешевле брать оперативную память с материнской платы, чем включать «настоящую» видеопамять на видеокарта. К сожалению, это часто приводит к очень медленной работе видеокарты.

И видеокарты HyperMemory, и TurboCache могут немного сбиваться при работе. подходит к их спецификациям. Они имеют тенденцию подчеркивать общее полезное видео. оперативной памяти (включая оперативную память, заимствованную у материнской платы) и уменьшить фактический объем видеопамяти на карте. Например, продается обычная модель как видеокарта «128 мегабайт», но на самом деле она содержит только 32 мегабайта реальной видеопамяти. остальные 96 МБ заимствован из материнской платы. Вы будете продавать намного больше видеокарты, утверждающие, что у них 128 МБ, чем видеокарта, утверждающая, что у них 32 МБ так что вы можете угадать, какое число напечатано на коробке большими буквами.

Но эта страница посвящена пропускной способности памяти. Здесь тоже такие карты часто продается обманчиво. HyperMemory и TurboCache получают доступ к материнской плате ОЗУ через PCI-Express x16 слот. Такой слот имеет пиковую скорость чтения или 4 ГБ/с и может одновременно записывать со скоростью 4 ГБ/с. Подробнее об этом виде можно прочитать слота на этой странице. Гиперпамять и TurboCache может обращаться к оперативной памяти материнской платы одновременно с видеопамятью. на карте. Недобросовестные поставщики иногда указывают свою пропускную способность памяти как сумма трех пропускных способностей: фактической пропускной способности видеопамяти, Скорость чтения PCI-Express x16 и скорость записи PCI-Express x16. Поэтому они на самом деле добавить 8 ГБ/с к реальной пропускной способности памяти для их маркетинга Характеристики. Это сильно преувеличивает реальную пропускную способность памяти карта. Хотя это правда, что это даст вам теоретическую пиковую память пропускная способность, в реальной жизни вы даже близко не приблизитесь к этому числу. Первый из все, видеокарты читают из своей оперативной памяти гораздо больше, чем пишут в нее. Добавление как скорость чтения 4 ГБ/с, так и скорость записи 4 ГБ/с смехотворны. Во-вторых, нужно помнить, что видеокарта не единственная вещь в ваш компьютер, которому требуется доступ к оперативной памяти материнской платы. есть прожорливый потребитель пропускной способности оперативной памяти материнской платы называется Процессор что делает его много занятым. Видеокарта должна делиться доступом с ЦП, поэтому он редко приближается к теоретическому пределу чтения 4 ГБ / с.

Фактической оперативной памяти на видеокарте обычно очень мало. который имеет очень маленькую ширину памяти, например 32 или 64 бита. Это приводит к некоторым очень низким реальная пропускная способность видеопамяти во многих моделях. В HyperMemory и TurboCache карты, тактовая частота видеопамяти половинной ширины обычно выше чем тактовая частота той же модели с оперативной памятью полной ширины, поэтому медленные модели обычно быстрее, чем половина скорости полноразмерных моделей. Но они еще очень медленно. Многие из этих карт имеют лишь небольшое количество реальной видеопамяти. например 16 или 32 мегабайта. Таким образом, большая часть данных видеокарты окажется на материнская плата, если вы пытаетесь запустить какие-либо современные игры. Один плюс в том, что видеокарты достаточно умны, чтобы хранить наиболее часто используемые данные в видеопамяти на видеокарте. Это смягчает удар необходимости доступа к данным хранится в относительно медленной оперативной памяти материнской платы.

Поскольку GPU может перекрывать доступ как к реальной видеопамяти, так и к ОЗУ на материнской плате, было бы несправедливо указывать пропускную способность памяти только как скорость реальной видеопамяти.

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

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