09 января 2012 в 11:32Рейтинг: 0
1
0
Q: Почему в гибридном режиме даже самая простая сцена отъедает гору памяти?
A: В отличие от стандартных интеграторов, трассирующих по одному лучу за раз, гибридный интегратор пакует большую задачу (набор лучей для трассировки) в один или несколько буферов и передаёт их на видеокарту. Чем больше объём этих буферов, тем более оптимально будет загружена видеокарта и тем меньше будут накладные расходы процессора, связанные с подготовкой этих буферов. Если объём буферов слишком мал, а карта достаточно мощная, видеодрайвер будет большую часть времени тратить на запаковку/распаковку задач и их передачу по шине PCIe, а карта, тем временем, будет простаивать впустую (при этом индикатор GPU Load в Люксе может всё равно показывать весьма высокие значения, т.к. учитывает сводную нагрузку на весь комплекс из видеокарты, драйвера и шины). С другой стороны, поскольку интегратор должен поддерживать для каждого трассируемого луча ряд технических характеристик, при значительном увеличении буферов эти метаданные потребуют большого объёма ОЗУ. Кроме того, слишком большой объём буферов приведёт к деградации GPU-кэша и падению производительности.
Q: На что влияют параметры расширенной настройки OpenCL?
A: Параметр
Ray buffer size определяет число одновременно трассируемых лучей. 16384 является в большинстве случаев наиболее оптимальным с точки зрения производительности, но требует значительного объёма ОЗУ.
State buffer count задаёт число буферов, на которые разбивается задача. По возможности следует избегать значения 1, поскольку процессор и GPU не смогут работать над общей задачей, что снизит производительность. 3 является наиболее оптимальным, но, опять же, очень сильно повышает требования к памяти.
Для компьютера с 4 Гб ОЗУ компромиссным вариантом может быть Ray buffer size = 4096 и State buffer count = 2.
OpenCL workgroup size -- технический параметр, задающий число параллельных вычислительных потоков; наиболее подходящее значение зависит от архитектуры конкретной видеокарты. В значении 0 драйвер определит его самостоятельно. Однако в последних драйверах от nVidia наметилась проблема с автоматическим определением. Значение 64 оптимально для большинства видеокарт (в том числе ATI/AMD), единственным явным исключением является GTX 460, для которой 48 подходит лучше.
Q: У меня 32-битная операционная система и 4 Гб памяти, но рендеринг в гибридном режиме всё равно не запускается.
A: Наиболее дефицитным ресурсом 32-битных ОС является не столько объём памяти, сколько адресное пространство. В связи с повышенными требованиями гибридного режима к памяти, его использование на 32-битных ОС, как правило, бесперспективно.