Jun 12, 2020 19:49
Jun 12, 2020 19:49
CentiLeo internally uses considerable CPU RAM buffers to hold prepared scene geometry data (around 40 bytes per triangle), the CPU Texture Cache with limited size (few GBs) and the buffer with rendered images. All these buffers are needed to support potential out-of-core geometry & texture modes to be capable to render scenes with huge assets if needed.
For this reason the minimum required RAM size for CentiLeo is 12GBs. However, 32GB or more would be great for many kinds of graphics projects which would allow avoiding some limit problems.
E.g. if there are 4 x 2080 RTX then at least 44GB RAM should be present (but it’s better to have 64 GB).
The other option is to increase the OS Paging File to this amount and hold it on SSD.
This is true not only for CentiLeo but also for other Multi-GPU programs.
Very often the textures (bitmaps) of scene go out-of-core which involve communicating with CPU RAM. The render image buffer can be large (few GBs) and is also placed in CPU RAM. For this reason DDR4 with good specs is the best choice, but DDR3 with lower speed would also be ok.
However, in case the scene has several hundred unique triangles (not instanced) which can involve out-of-core geometry mode the DDR4 memory is highly recommended.
Good disc size is needed to hold the texture (bitmap) assets of scenes and their *.cntx cache files. At the moment these files occupy a lot of space, but later will be compressed. However good SSD (at least SATA based) with good size, say 500GB, can be very convenient with this workflow.
Good amount of GPU memory as in 1080 GTX or 2080 RTX 11GB is better if several hundred unique not instanced triangles (up to 500M) are expected in artist schedule.
If the artist should work with scenes of up to 1500M unique triangles then Quadro RTX 6000 with 24 GB memory is the best choice.
However, for scenes with less than 100-200 million unique triangles the 1070 GTX or 2070 GTX would be ok. For these cards there will be even no geometry out-of-core mode involved for scenes with less than 100M unique triangles.
It’s very common to collect several GPUs in one system as they allow to share the other computer devices (CPU, RAM, PSU, Mobo, SSD), get more compute power in less physical space and perform more productive 3D artist iterations.
Several GPUs improve the workflow experience if they are assigned to different tasks. E.g. one cheaper GPU can be connected to system monitors and become a “Display GPU” and perform only GUI and 3D app viewport tasks without being selected for CentiLeo rendering. The other more powerful GPUs can be selected for rendering in the settings. When render tasks are launched there will be no any OS and 3D app viewport GUI lags. However, if Display GPU participates in rendering job there could be potential GUI system lags in some intensive scenes. However, the situation is getting better in upcoming renderer developments.
We recommend building no more than 4 GPUs in one system for stable work due to many factors, including stability, cooling, RAM and paging file issues. It’s also not easy to find good motherboards supporting more than 4 full power PCIe lane setups like x16/x16/x16/x16 or CPUs with 64-lanes dedicated for GPUs, etc.
Motherboard and CPU lanes
In case of Multi-GPU system setup and in case of working with out-of-core geometry scenes (several hundred million unique triangles) we recommend using high end motherboards and CPUs which support a lot of PCIe connections and lanes.
E.g. for 4x Multi-GPU finding a motherboard with x16 / x16 / x16 / x16 configuration (with support on physical and chipset level) is the best, especially if there is PCIe gen 4 support on both the motherboard and GPU sides. However, even x8 / x8 / x8 / x8 with PCIe gen 3 or 4 would also suffice for Multi-GPU and out-of-core geometry but not PCIe gen 2 which would be slow for x8.
For 4x Multi-GPU the CPU should support at least 48 or 64 lanes and 4 fast cores.
For jobs without expected out-of-core geometry simpler CPUs with 24-32 supported lanes and x8 PCIe connections would work well.
USB-PCIe risers are not recommended at all, because their data transfer speed is like USB flash drive. However, for not out-of-core geometry scenes they can be used (but we haven’t tested). In case of out-of-core textures (often case) the Multi-GPU render may not scale linear with the number of GPUs.
Wide PCIe Extenders are more expensive and can be a good option to give GPUs more space and air in the system. Their producers claim good speed, but we haven’t yet tested them.