Почему параллельность работает не всегда одинаково

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

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

Backend определяет совместимость

CUDA, OptiX, HIP, oneAPI и Metal — разные вычислительные пути, а не взаимозаменяемые названия GPU. Документация Cycles 4.5 отдельно перечисляет условия каждого пути. Выбор устройства в настройках программы и выбор GPU для конкретной сцены также могут быть отдельными действиями.

Поддерживаемая видеокарта должна соответствовать требованиям renderer, ОС и драйвера. Наличие видеоускорителя в системе ещё не доказывает, что он участвует в финальном рендере. Практический первый тест — проверить журнал или мониторинг загрузки после явного выбора вычислительного устройства.

Сцена должна помещаться в рабочую память

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

Не оценивайте расход по размеру JPEG-файлов: после декодирования текстуры занимают иной объём. Добавляются acceleration structures, геометрия, промежуточные buffers и denoising. Несколько GPU обычно не означают простого сложения их памяти; возможность совместного использования должна быть подтверждена для конкретного renderer и соединения.

Логика процессаОригинальная схема аппаратного пути; тип backend не определяет весь алгоритм получения изображения.

Один продукт, разные ограничения

В руководстве Cycles 4.5 отмечено отсутствие Path Guiding на GPU и отдельные условия OSL для OptiX. Это пример версии одного продукта, а не универсальный закон для всех движков. Поэтому переключение сцены с CPU нужно сопровождать проверкой материалов, специальных эффектов и необходимых выходных passes.

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

Что измерять

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

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

При проверке нескольких GPU сначала установите, как renderer распределяет сцену и хранит данные. В распространённой схеме каждое устройство получает собственную копию рабочего набора; объёмы VRAM тогда не складываются в один общий предел. Отдельные механизмы обмена имеют ограничения и требуют явной поддержки. Тест второго устройства должен измерять полный кадр и пиковую память, а не выводить результат из суммы характеристик двух плат.