Hardware recommendations for a RC workstation

Hello everyone,

I want to build a workstation that’s mostly going to be used with RC. Is anyone here running an i7-12700(k) or i9-12900(k) with an RTX 3060 (Ti)? How are the temperatures and the performance?

Currently there isn’t really anything similar to the RTX 3060 (Ti) that’s not much more expensive but is there maybe another cpu that’s better than the 12700(k) but also cheaper and works well with RC?

What’s more important with RC: Single-core or multi-core performance?

Hi,

First, here you can read more about our minimal HW requirements.
Generally, most of the processes in RealityCapture are out-of-core apart (not dependent on the RAM) from the  Alignment process  (registration of cameras).
RealityCapture will use all available RAM if it leads to faster computation. Otherwise, it splits jobs so that it fills into the Windows System memory (SWAP). So technically 16GB is enough for reconstruction, texturing, etc - but more RAM could lead to faster processing.
Memory consumption during the alignment phase depends on the number of images (not size) and the number of detected features per image. For the default setting of 40 000 features per image (Alignment setting), you can expect the following boundaries:

  • 2,000 images - 16GB RAM
  • 4,000 images - 32GB RAM
  • 8,000 images - 64GB RAM
  • 16,000 images - 128GB RAM
    By decreasing the number of detected features to half you can approximately decrease the memory consumption by half as well. The approximate formula is: RAM = features x images x 200 bytes. 
     
     
    Here are some suggestions for usage of RealityCapture:
    GPU:  NVIDIA RTX 3080ti this GPU is one of the best you can get right now in terms of pure performance per watt. However, since this card is mainly targeted at gaming community drivers (even studio drivers aren´t that polished) that could lead to some CUDA and memory leak errors - if you are working with large HDR and high-resolution textures.
    If you want to work with really high-resolution 32k x 32k textures (outside of RealityCapture on the same machine) I would suggest going with Nvidia Quadro RTX 6000 and Nvidia Quadro RTX 8000 which are better suited for working in a critical environment and have multiple times more of HMB2 VRAM. Quadro series have generally better-optimized drivers and you will get fewer memory and Cuda errors. Pure performance-wise, the Nvidia 3080 is placed above both the Nvidia Quadro RTX6000 and the Nvidia Quadro RTX8000. You will also want to have a Quadro-based GPU if you want to work on virtual production due to the GEN-lock feature (that is not RealityCapture related though).
    Regarding NVIDIA RTX 3090 I heard that users seem to be getting some CUDA errors due to some memory leaks, so I believe drivers are still not there (but I personally haven´t got it yet due to the current Crypto-Mining situation)

Disclaimer:  RealityCapture only uses GPU in a part of Reconstruction (Depth-map calculation) and Texturing processes - other than that RC mainly uses CPU - that´s why I would suggest more focus on the highest core-clock CPU (ideally more than 5GHz) with a min. of 12 and ideally 16+ cores per socket. Both Intel and AMD have potential candidates for these tasks.

CPU:  Regarding HW there is basically 1 rule of thumb. The clock speed of the processor is more important than the number of cores. So, if you have a 12-core processor with a 5 GHz overclock, you will get better results, than with a processor with 3 ghz and 32-cores. Generally, a good bank for the buck is Ryzen 9 5950x from AMD, which can also be overclocked (this model has a limit to max ram 128GB though). What I’m trying to say is that you can get more performance from customer tier processors, than enterprise tier line-up (like AMD Epyc/ Intel Xeon) with lower clock speeds and more cores.
 
RAM:   128GB  of RAM will be generally enough for up to 16 000 inputs. If you are going to work on really large datasets 16 000+ of inputs (photos, LSPs, etc.) I would suggest going for more RAM, we have customers who are using even 1,5TB of RAM for some large projects like cities (however if you want more than 128gb of RAM (Intel) or 256GB (AMD Threadripper line), you will have to get AMD Epyc or Intel Xeon product lines of processors. Then in terms of system Windows and RealityCapture stability if you will pick a CPU with 64 cores like (AMD Threadripper 3990x it should not be used with  less than  64 physical cores * 4gb RAM per core =  256GB of RAM ). Also, I would like to throw some light into the upcoming DDR5 that should come this or next year.
 
Motherboard:  This doesn´t really matter if it will support everything else you would need like the maximum amount of RAM you would like to have or the number of PCI express slots. Personally, I always use the Workstation line-up.
 
Operating System:  Windows 10 Professional for 64-bit workstations will get work done just fine. 
 
Other suggestions:  I would suggest investing in high-speed NVME SSD for Cache/ Scratch disk (at least 2TB) which will be separated from another NVME PCI-e SSD/Intel Optane (at least 1TB), where windows will be installed. And, from a utility perspective a 10Gbps network if you will have storage servers accessible over the 10 Gbps network - these files created from RealityCapture will be huge, so it’s great to create a large RAID/ un-raid storage server before starting with large projects, in order to not get to issues with a low amount of storage for the incremental back-ups. I would recommend investing more in the 10Gbps network where teams can access multiple projects at the same time. A medium-sized city project can easily go to 25+TB for 1 single project (inputs, iterations, models, textures, etc.). 

Thanks for the prompt reply!

I already noticed the page you linked but it doesn’t recommend anything specific (the RTX 2000 and 3000 series and even some of the old 1000 models should all be fine in terms of CUDA cores).

There are currently no plans to use much more than 500 images (1000 max) per model anyway but I’m definitely going to buy 32gb RAM (and an NVMe), so that shouldn’t be a problem.

I’m looking for something rather mid-range (like the RTX 3060), as the new Quadro models or 3080/3090 and current Ryzen 9/threadrippers/i9 are simply not in my budget, and was wondering what other people here are using/can recommend in that range.

There is a lot of people which use RTX3060, I think it could be good for you.