Как стать автором
Обновить
9.3

Видеокарты

Графические адаптеры

Сначала показывать
Порог рейтинга
Уровень сложности

Установка GPU версии HPL с OpenBLAS

Время на прочтение7 мин
Количество просмотров2.5K
Для попадания в список ТОП 50, 100, 500 HPC (High Performance Computing) комплексов подходят результаты тестирования, полученные с помощью бенчмарка HPL (High Performance Linpack).

Бенчмарк Linpack (Linear Algebra PACKage) реализует алгоритм решения СЛАУ методом LU разложения. Этот пакет общедоступен, прост в установке и запуске. Хорошо подходит для демонстрации производительности CPU.

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

В данном руководстве я приведу пример сборки и запуска HPL для GPU.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Удаленный доступ к ВМ с GPU с помощью Citrix

Время на прочтение11 мин
Количество просмотров9.3K
В данном руководстве подробно описаны шаги, которые необходимо выполнить при подготовке удаленного доступа к виртуальным рабочим столам с помощью технологии, которую предлагает компания Citrix.

Оно будет полезно тем, кто недавно познакомился с технологией виртуализации рабочих столов, так как является сборником полезных команд, собранных из ~10 мануалов, многие из которых доступны на сайтах Citrix, Nvidia, Microsoft, после авторизации.

Данная реализация содержит этапы подготовки удаленного доступа к виртуальным машинам (ВМ) с графическими ускорителями Nvidia Tesla M60 и операционной системой Centos 7.
Читать дальше →
Всего голосов 6: ↑4 и ↓2+2
Комментарии0

Как же всё-таки получаются 1024 цвета в CGA? И действительно ли их 1024?

Время на прочтение15 мин
Количество просмотров22K
Запощенный в 2015 г. перевод «Новый графический режим: CGA в 1024 цвета» меня сильно впечатлил, но из него я так и не понял до конца, как этот трюк работает, потому что статья написана профессионалом в области ретро-компьютерной графики, и предполагает, что читатель уже имеет некоторые познания в этой области. Хотя у моего первого компьютера («Поиск» — советский клон IBM PC/XT) и был CGA, но мониторы с композитным входом я не застал, так что мне пришлось гуглить и разбираться, как же композитное видео было устроено. Для тех, кому тоже интересно «нутро» технологий 1981 г., в которых в 2015 г. обнаружились неожиданные недокументированные возможности, я собрал воедино найденный мной материал.

1. Штатные возможности CGA


У обывателя CGA обычно ассоциируется с графикой 320x200 и четырёхцветной палитрой с кислотно-жуткими цветами, как например в играх 1983 г. Alley Cat, J-bird, Lode Runner и Tapper:




Но ограничение 320x200x2bpp накладывается лишь объёмом имеющейся на адаптере видеопамяти (16 Кб), фактически же он способен производить изображение 640x200x4bpp — с пикселями, сильно вытянутыми вертикально.
Читать дальше →
Всего голосов 147: ↑147 и ↓0+147
Комментарии28

Простая самодельная VGA видеокарта

Время на прочтение2 мин
Количество просмотров87K
Насколько мне известно, довольно многим интересно подключить микроконтроллер к обычному монитору и попробовать что-либо вывести на экран. В этой статье пойдёт речь о создании простейшей VGA-видеокарты на базе микроконтроллера atmega168-20.
Всего голосов 117: ↑116 и ↓1+115
Комментарии109

Истории

Простая хэш-таблица для GPU

Время на прочтение11 мин
Количество просмотров12K

Я выложил на Github новый проект A Simple GPU Hash Table.

Это простая хэш-таблица для GPU, способная обрабатывать в секунду сотни миллионов вставок. На моём ноутбуке с NVIDIA GTX 1060 код вставляет 64 миллиона случайно сгенерированных пар ключ-значение примерно за 210 мс и удаляет 32 миллиона пар примерно за 64 мс.

То есть скорость на ноутбуке составляет примерно 300 млн вставок/сек и 500 млн удалений/сек.

Таблица написана на CUDA, хотя ту же методику можно применить к HLSL или GLSL. У реализации есть несколько ограничений, обеспечивающих высокую производительность на видеокарте:

  • Обрабатываются только 32-битные ключи и такие же значения.
  • Хэш-таблица имеет фиксированный размер.
  • И этот размер должен быть равен двум в степени.

Для ключей и значений нужно зарезервировать простой разграничивающий маркер (в приведённом коде это 0xffffffff).
Читать дальше →
Всего голосов 53: ↑50 и ↓3+47
Комментарии19

Тестируем видеокарты для работы с КОМПАС-3D

Время на прочтение5 мин
Количество просмотров46K
Продолжаем тему железа для САПР. В прошлой статье мы тестировали процессоры при работе в КОМПАС-3D, сегодня речь пойдёт о видеокартах. На связи вновь Станислав Ермохин, руководитель отдела техподдержки и обучения регионального центра АСКОН-Волга.


Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии25

Измеряем на коленке пропускную способность памяти

Время на прочтение9 мин
Количество просмотров18K
Несколько недель назад в разговоре за обедом коллега пожаловался на какой-то медленный процесс. Он подсчитал количество сгенерированных байт, количество циклов обработки, и в конечном счёте, объём оперативной памяти. Коллега заявил, что современный GPU с пропускной способностью памяти более 500 ГБ/с съел бы его задачу и не подавился.

Мне показалось, что это интересный подход. Лично я раньше не оценивал задачи производительности с такой стороны. Да, я знаю о разнице в производительности процессора и памяти.



Я знаю, как писать код, который активно использует кэш. Знаю примерые цифры задержки. Но этого недостаточно, чтобы сходу оценить пропускную способность памяти.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии21

Бюджетные VPS с видеоадаптерами: сравнение российских провайдеров

Время на прочтение6 мин
Количество просмотров27K
Считается, будто виртуальные серверы с vGPU стоят дорого. В небольшом обзоре я попробую опровергнуть этот тезис.

Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии2

История видеопроцессоров, часть 4: появление General Purpose GPU

Время на прочтение16 мин
Количество просмотров11K
image

Часть 1: 1976-1995 годы

Часть 2: 3Dfx Voodoo

Часть 3: консолидация рынка, начало эпохи конкуренции Nvidia и ATI

До прихода DirectX 10 не было смысла добавлять в чипы необязательную сложность, расширяя площадь кристалла, что повышало функциональность вершинных шейдеров, а также точность обработки чисел с плавающей запятой для пиксельных шейдеров с 24 до 32 бит для соответствия требованиям операций с вершинами. После появления DX10 вершинные и пиксельные шейдеры сохраняли высокий уровень общей функциональности, поэтому переход к обобщённым шейдерам избавил от большой части ненужного дублирования блоков обработки. Первым GPU, в котором применялась такая архитектура, стал легендарный G80 компании Nvidia.

Благодаря четырём годам разработки и 475 миллионам долларов был изготовлен монстр с 681 миллионом транзисторов и площадью 484 мм², впервые выпущенный на флагманской карте 8800 GTX и на 8800 GTS 640MB 8 ноября 2006 года. Разогнанный GTX под названием 8800 Ultra был вершиной мощи G80; он был выпущен в промежутке времени между двумя менее важными продуктами: 320MB GTS в феврале и GTS 640MB/112 с ограниченным тиражом 19 ноября 2007 года.

GTX, оснащённый новым алгоритмом Coverage Sample anti-aliasing (CSAA), благодаря своей несравненной производительности победил всех конкурентов как с одним, так и с двумя чипами. Несмотря на этот успех, в четвёртом квартале компания потеряла три процента рынка дискретной графики, которые благодаря силе OEM-контрактов перешли к AMD.
Всего голосов 18: ↑18 и ↓0+18
Комментарии7

История видеопроцессоров, часть 3: консолидация рынка, начало эпохи конкуренции Nvidia и ATI

Время на прочтение20 мин
Количество просмотров18K
image

Часть 1: 1976-1995 годы

Часть 2: 3Dfx Voodoo

Падение 3Dfx и расцвет двух гигантов


На рубеже веков отрасль графики демонстрировала тенденции к дальнейшей консолидации.

С профессионального рынка полностью ушла iXMICRO, а NEC и Hewlett-Packard выпустили свои последние продукты — серии TE5 и VISUALIZE FX10. После продажи RealVision компания Evans & Sutherland тоже покинула отрасль, сосредоточившись на проекционных системах для планетариев.

На рынке потребительской графики ATI объявила о приобретении в феврале 2000 года ArtX Inc. за 400 миллионов долларов. ArtX разрабатывала GPU под кодовым названием Project Dolphin (который позже назвали «Flipper») для Nintendo GameCube, что значительно увеличило годовую прибыль ATI.


GPU компании ATI для GameCube

Также в феврале 3dfx объявила о сокращении штата на 20%, а сразу после этого купила Gigapixel за 186 миллионов и получила её технологии рендеринга на основе тайлов.
Всего голосов 30: ↑30 и ↓0+30
Комментарии15

История видеопроцессоров, часть 2: 3Dfx Voodoo

Время на прочтение22 мин
Количество просмотров24K
Часть 1: 1976 — 1995 годы

3Dfx Voodoo: смена правил игры


Выпущенная в ноябре 1996 года графическая карта 3Dfx состояла из платы только для 3D, которой требовался VGA-переходник к отдельной 2D-карте, подключаемой к дисплею.

Карты продавались множеством компаний. Orchid Technologies первой вышла на рынок с Orchid Righteous 3D стоимостью 299 долларов. Эта плата примечательна тем, что имела механические реле, которые «щёлкали», когда чипсет был в работе. В последующих версиях, как и в устройствах других поставщиков, уже применялись твердотельные реле. За этой картой последовали Diamond Multimedia Monster 3D, Colormaster Voodoo Mania, Canopus Pure3D, Quantum3D, Miro Hiscore, Skywell (Magic3D) и 2theMAX Fantasy FX Power 3D.

Voodoo Graphics почти за один день совершила революцию в графике для персональных компьютеров, превратив в устаревшие множество других устройств, в том числе широкий диапазон карт, предназначенных только для 2D. Рынок 3D в 1996 году благоволил S3, завоевавшей почти 50-процентную долю. Но вскоре всё должно было измениться. Подсчитано, что на пике популярности Voodoo компания 3Dfx захватила 80-85% рынка 3D-ускорителей.


Diamond Multimedia Monster 3D (3dfx Voodoo1 4MB PCI)
Всего голосов 39: ↑39 и ↓0+39
Комментарии21

ОС Фантом: оконная подсистема — делаем контролы

Время на прочтение7 мин
Количество просмотров13K
Сегодня речь пойдёт о том, как устроен графический UI Фантома.

(Что такое ОС Фантом можно узнать, прочитав вот эти статьи.)

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

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

Что было в наличии на начало проекта UI? В принципе — немало.

Была, собственно, графика — видеодрайвер, оконная подсистема в режиме только отображения, bitmap шрифты, подсистема оконных событий (events), управление фокусом окон и сопутствующие примитивы.

Теперь по шагам и чуть подробнее.
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии37

VPS с видеокартой (часть 2): вычислительные возможности

Время на прочтение4 мин
Количество просмотров6.1K
В предыдущей статье, когда мы рассказывали про нашу новую услугу VPS с видеокартой, мы не затронули некоторые интересные аспекты использования виртуальных серверов с видеоадаптерами. Пришло время дополнить тестирование.



Для использования физических видеоадаптеров в виртуальных средах мы выбрали технологию RemoteFX vGPU, которая поддерживается гипервизором Microsoft. При этом на хосте должны быть установлены процессоры с поддержкой SLAT (EPT от Intel или NPT/RVI от AMD), а также соответствующие требованиям создателей Hyper-V видеокарты. Ни в коем случае не стоит сравнивать это решение с настольными адаптерами в физических машинах, которые обычно показывают лучшую производительность при работе с графикой. В нашем тестировании vGPU будет конкурировать с центральным процессором виртуального сервера — вполне логично для вычислительных задач. Отметим также, что помимо RemoteFX существуют и другие сходные технологии, например NVIDIA Virtual GPU — она позволяет передавать графические команды каждой виртуальной машины напрямую в адаптер без трансляции их гипервизором. 
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии4

Ближайшие события

История видеопроцессоров: 1976 — 1995 годы

Время на прочтение14 мин
Количество просмотров22K
image

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

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

Первые дни потребительской 3D-графики были Диким Западом конкурирующих идей: от способов реализации оборудования до использования различных техник рендеринга и интерфейсов приложений и данных. У первых графических систем имелся фиксированный конвейер функций (fixed function pipeline, FFP) и архитектура, следовавшая по очень строгому пути обработки; при этом графические API практически у каждого производителя 3D-чипов были собственные.

3D-графика превратила довольно унылую PC-индустрию в шоу света и магии, но своим существованием она обязана многим поколениям инноваций. В этой серии статей мы подробно рассмотрим историю GPU: первые дни потребительской 3D-графики, совершившую переворот 3Dfx Voodoo, консолидацию отрасли в начале века и современные GPGPU.
Всего голосов 19: ↑18 и ↓1+17
Комментарии16

Как работает рендеринг 3D-игр: обработка вершин

Время на прочтение13 мин
Количество просмотров35K
image

В этом посте мы рассмотрим этап работы с вершинами. То есть нам придётся снова достать учебники по математике и вспомнить линейную алгебру, матрицы и тригонометрию. Ура!

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

На скриншоте в начале поста показана игра GTA V в каркасном (wireframe) режиме отображения. Сравните её с намного менее сложным каркасным отображением Half-Life 2. Изображения созданы thalixte при помощи ReShade.

Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии8

VDS с видеокартой — мы знаем толк в извращениях

Время на прочтение4 мин
Количество просмотров35K
Когда один из наших сотрудников сказал своему знакомому сисадмину: «А у нас теперь новая услуга — VDS с видеокартой», тот в ответ усмехнулся: «Что, будете офисную братию на майнинг толкать?». Ну хоть не про игры пошутил, и то ладно. Много он понимает в жизни разработчика! Но в глубине души у нас затаилась мысль о том, а вдруг кто-то и правда думает, что видеокарта — удел майнеров и любителей компьютерных игр? В любом случае, лучше семь раз проверить, а заодно рассказать, зачем придуман VDS с видеокартой и почему это так важно.



Безусловно, если вам нужен арендованный виртуальный сервер VDS с видеокартой для игр, то даже не читайте дальше, переходите на страницу услуги и смотрите условия/цены от RUVDS — наверняка вам понравится. Остальных мы приглашаем к дискуссии: а нужен ли VDS с видеокартой как услуга или проще развернуть свой программно-аппаратный комплекс?
Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии44

FFmpeg практика аппаратного декодирования DXVA2

Время на прочтение6 мин
Количество просмотров17K
Привет! Эта статья продолжение моей статьи FFmpeg начало работы Visual Studio. Здесь мы приступим к аппаратному декодированию RTSP-потока FULL HD. Заранее скажу, что с данной задачей легко справится даже Intel ATOM Z8350.

Задача: аппаратное декодирование и запись до 4-х кадров в оперативную память для последующей параллельной обработки (четырьмя ядрами процессора) с IP-камеры RTSP h.264. Обработанные кадры отображаю с помощью функций WinAPI. Как итог мы получим быстродействующую систему для компьютерной обработки RTSP-потока в параллельном режиме. Далее можно подключать алгоритмы Компьютерного зрения для обработки кадров Real Time.

image

Вступление


Зачем нужно аппаратное декодирование? Вы хотите слабым и дешевым процессором декодировать видео реал-тайм или хотите максимально разгрузить процессор, тогда пора знакомиться с аппаратным декодированием.

DirectX Video Acceleration (DXVA) — это API для использования аппаратного ускорения для ускорения обработки видео силами графических процессоров (GPU). DXVA 2.0 позволяет перенаправлять на GPU большее количество операций, включая захват видео и операции обработки видео.
Всего голосов 24: ↑24 и ↓0+24
Комментарии32

Новый алгоритм трассировки пути для оптимизации работы GPU: Wavefront Path Tracing

Время на прочтение10 мин
Количество просмотров9.9K

В этой статье мы исследуем важную концепцию, используемую в недавно выпущенной платформе Lighthouse 2. Wavefront path tracing, как её называют Лейн, Каррас и Аила из NVIDIA, или streaming path tracing, как она изначально называлась в магистерской диссертации ван Антверпена, играет важнейшую роль в разработке эффективных трассировщиков пути на GPU, а потенциально и трассировщиков пути на CPU. Однако она довольно контринтуитивна, поэтому для её понимания необходимо переосмыслить алгоритмы трассировки лучей.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии3

Как GPU справляются с ветвлением

Время на прочтение11 мин
Количество просмотров18K
image

О статье


Этот пост — небольшая заметка, предназначенная для программистов, которым хочется больше узнать о том, как GPU обрабатывает ветвление. Можно считать её введением в эту тему. Рекомендую для начала просмотреть [1], [2] и [8], чтобы получить представление о том, как в общем виде выглядит модель выполнения GPU, потому что мы будем рассматривать только одну отдельную деталь. Для любопытных читателей в конце поста есть все ссылки. Если найдёте ошибки, то свяжитесь со мной.

Содержание


  • О статье
  • Содержание
  • Словарь
  • Чем ядро GPU отличается от ядра ЦП?
  • Что такое согласованность/расхождение?
  • Примеры обработки маски выполнения
    • Выдуманная ISA
    • AMD GCN ISA
    • AVX512
  • Как бороться с расхождением?
  • Ссылки
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии7

Скелетная анимация на стороне видеокарты

Время на прочтение6 мин
Количество просмотров17K

Не так давно Unity представила ECS. В процессе изучения мне стала интерестно, а каким образом можно подружить анимацию и ECS. И в процессе поиска я наткнулся на интересную технику, которую применяли ребята из NORDVEUS в своем демо для доклада Unite Austin 2017.
Unite Austin 2017 — Massive Battle in the Spellsouls Universe.


Доклад содержит много интересных решений но сегодня пойдет речь о сохранении скелетной анимации в текстуре с целью дальнейшего ее применения.


Зачем такие сложности, спросите вы?


Ребята из NORDVEUS одновременно отрисовывали на экране большое количество однотипных анимированных объектом: скелетов, мечников. В случае использования традиционного подхода: SkinnedMeshRenderers и Animation\Animator, повлечет за собой увеличение вызовов отрисовки и дополнительную нагрузке на CPU по просчету анимации. И чтобы решить эти проблемы анимацию перенесли на сторону GPU, а точнее в вершинный шейдер.


Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии38