Двойные графические процессоры, почему ни NVIDIA, ни AMD в настоящее время их не производят?

Если вы наблюдали рынок в последние годы, вы, возможно, видели, как конфигурации видеокарты с двумя графическими процессорами больше не предлагаются с новыми архитектурами крупными производителями, такими как AMD и NVIDIA. По каким причинам обе компании больше не делают ставки на эти двойные GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР конфигурации?

В течение некоторого времени мы перестали видеть в магазинах двойные видеокарты, которые были в самом высоком диапазоне потребительских цен.

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

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

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

Связь CPU-GPU и ее влияние на два GPU

В начале каждого кадра видеоигры ЦП вычисляет положение сцены каждого объекта в нем, а также взаимодействия, обнаружение столкновений, тем самым создавая упорядоченный список действий, называемый «Список команд», который он написано в части основных Оперативная память. Затем графический процессор через модуль DMA, который позволяет ему читать основное ОЗУ системы, не путать с памятью графики, он читает этот список, как если бы это было кольцо. Другими словами, то, что делает графический процессор, - это чтение тех же адресов памяти, которые будут включать в себя указанный список или списки в цикле.

Графический процессор Comandos Colas

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

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

Как отрисовываются Dual GPU? Рендеринг с разделением кадра и альтернативный рендеринг кадра

Идея наличия двойного графического процессора - это не что иное, как объединение мощности обоих графических процессоров для рендеринга одной и той же сцены, и они могут совместно работать, но для этого оба графических процессора должны координироваться друг с другом для рендеринга сцены, и для этого обычно есть два методы

  • Каждый графический процессор работает с чередованием, когда каждый из них обрабатывает кадр и, следовательно, свой список экранов. Это называется рендерингом альтернативного кадра.
  • Совместная работа в одном кадре и совместное использование экранного пространства. Что такое рендеринг с разделением кадров

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

Альтернативный рендеринг кадра

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

Второй случай типичен для графических процессоров для устройств Post-PC, поскольку графические процессоры этих устройств обычно состоят из нескольких симметричных графических процессоров, работающих параллельно и имеющих одинаковый доступ к памяти. Тип рендеринга, традиционно используемый в этих устройствах, - рендеринг с помощью плитки или мозаики, основанный на разделении экрана на мозаики. При таком способе рендеринга первое деление экрана выполняется по количеству доступных ядер графического процессора. Затем каждое ядро ​​графического процессора обрабатывает часть экрана, как если бы это был целый кадр.

Рендеринг с разделением кадров

Рендеринг с разделением кадров

Этот метод называется рендерингом с разделением кадров, SFR, и он работает особенно в системах, где, несмотря на наличие нескольких графических процессоров, все они хорошо совместно используют одну и ту же память. На ПК и начиная с DirectX 12, Microsoft добавлена ​​поддержка рендеринга с разделением кадров, позволяющая двум видеокартам обрабатывать один и тот же кадр одновременно с одинаковой адресацией памяти. На бумаге это выглядит очень красиво, но ... Что произойдет, если два графических процессора не будут использовать одну и ту же оперативную память и одновременно визуализируют один и тот же кадр? Ужасно высокие задержки доступа создаются для связи, когда графическому процессору требуется доступ к данным, которые находятся на общем адресе обоих графических процессоров.

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

Но на внутреннем рынке ПК ни SFR, ни AFR не используются, потому что это требует адаптации способа создания списков программных команд для этого типа конфигурации. Число людей с двойным графическим процессором чрезвычайно мало, и разработка программного обеспечения, использующего эти функции, совершенно не оплачивается. Даже рынок виртуальной реальности, где наличие графического процессора для рендеринга каждого глаза было бы плюсом, даже не обеспечивает достаточно большого спроса на видеокарты, которые имеют командные процессоры, поддерживающие виртуализацию в стандартной комплектации.

Повлиял ли DirectX 12 на работу двух графических процессоров?

Начиная с DirectX 11, возможность выполнять универсальные вычисления на графических процессорах была добавлена ​​параллельно с отрисовкой графики. Для этого нужно иметь не один буфер в памяти, а несколько разных буферов, один из которых и главный отвечает за рендеринг графики, а остальные выполняют небольшие вычислительные задачи.

DX11 против DX12

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

Имейте в виду, что и SFR, и AFR зависят от состояния доступности ресурсов GPU, независимо от того, завершился ли кадр или нет. Программист может извлечь несколько дополнительных миллисекунд из графического процессора для выполнения ряда дополнительных задач вне композиции сцены. Из-за этого очень и очень сложно скоординированно координировать работу двух графических процессоров, чтобы разрешить как AFR, так и SFR, поэтому DirectX 12 стал последним гвоздем в гробу двойных графических процессоров на домашнем рынке.

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