Autodesk ReMake (formerly Memento) is a photogrammetry application, similar to Agisoft PhotoScan. It takes a set of photos as input and uses them to create a textured 3D model of the object(s) in the photos. Autodesk publishes a basic system requirements page, but there is not much information available there regarding what hardware actually performs best in this program.
In this article we are going to look at several NVIDIA Quadro GPU (video card) options that you might consider in a workstation to see how they compare in ReMake. Some of the steps in ReMake are GPU accelerated, and specifically use NVIDIA's CUDA technology - so it cannot run on Intel or AMD graphics chips. We also tested a selection of GeForce cards, and the results from those are available on another article.
To see how each of the Quadro cards perform in Revit, we used the following workstation hardware and software:
|Motherboard:||Asus PRIME Z270-A|
|CPU:||Intel Core i7 7700K 4.2GHz (4.5GHz Max Turbo) 4 Core|
|RAM:||4x Crucial DDR4-2400 16GB (64GB total)|
|Hard Drive:||Samsung 960 Pro 2TB M.2 SSD|
|OS:||Windows 10 Pro 64-bit|
|Software:||Autodesk ReMake v188.8.131.52|
This hardware is based on one of the top-performing CPU platforms for ReMake, as determined by our CPU comparison testing.
The Quadro cards we are testing are the latest Pascal based models, with the full P1000 through P6000 series as well as the specialty GP100 model. That latter card is built for double precision (FP64) calculations, so including it should show whether the computations that ReMake does involve that level of precision.
|Test Video Cards|
|NVIDIA Quadro P1000 4GB||NVIDIA Quadro P2000 5GB|
|NVIDIA Quadro P4000 8GB||NVIDIA Quadro P5000 16GB|
|NVIDIA Quadro P6000 24GB||NVIDIA Quadro GP100 16GB|
We performed our testing using two image sets I took: a set of 78 images of a chessboard and 300 images of a playground climbing toy. The smaller image set was used for most tests, with the larger set reserved for a comparison of GPU memory usage. Both the number of photos you use and the resolution of those images will increase memory demands and processing time, and we targetted an image set that would take long enough to run that we could see measurable differences between hardware but not so long that it would take weeks to perform the testing.
At the completion of each run, ReMake creates a log file that records the total time as well as several individual steps. Unfortunately, those steps are not labeled or described - so we will present only the total time here, not the various parts that make up the total.
Benchmark Results - Performance
Here are the processing times (in seconds) for ReMake with the full set of Quadro cards:
As could be expected, the faster Quadro cards performed better in ReMake. The jumps from the P1000 through the P5000 are especially noticable, but the P5000, P6000, and GP100 all ended up within about a minute of each other.
Since the GP100 performed right in line with the P6000, we can assume that ReMake is not doing any double-precision (FP64) calculations. If it were, the GP100 should be far faster. Because double-precision is not being utilized, and since the GP100 has smaller onboard memory capacity than the comparably-priced P6000, it is probably not a logical choice for ReMake.
Benchmark Results - GPU Memory
Using larger image sets can utilize more video memory, which is why we also ran a test with 300 photos. This test was run on a different platform (Core i7 7820X on an X299 motherboard) and in order to try and isolate the video memory rather than GPU performance we used a Quadro P6000 24GB and a GeForce Titan Xp 12GB. These cards perform very similarly with smaller image sets, as shown in the graph below, but the difference in video memory impacts performance with higher numbers of photos.
With our larger image set, the Quadro P6000's higher amount of memory gave it a roughly 10% performance lead. To see why this is the case, the graph below shows peak GPU memory usage when ReMake is processing both 78 and 300 photos (20 megapixels each):
It turns out that even the smaller image set we used comes close to filling 12GB of video memory, so cards with less than that could be losing some performance just because of memory capacity. If you are going to work with either large numbers of photos or higher resolution images in ReMake then definitely keep this factor in mind.
Benchmark Results - Dual GPUs
Some GPU accelerated applications can utilize multiple video cards to increase performance, so once we knew which Quadro card was best suited to ReMake we tried using two to see what impact that had. This testing was conducted on multiple CPU platforms, as shown here:
There is a slight increase in performance with a second P6000, but only a 2-4% improvement on the fastest CPUs. Oddly there was a much bigger impact when testing on dual Xeon processors, but even with two video cards that platform was still far slower than the more affordable Core i7 configurations.
It isn't reflected here, but we also ran into stability issues with dual video cards and larger image sets. When attempting to process the 300 photo set mentioned previously on two P6000 cards ReMake would crash. Because of that, and the minimal impact that a second GPU has when using the fastest processors, we advise against purchasing multiple video cards in a ReMake workstation.
Given the results of our testing, there are three factors to consider when selecting a Quadro video card for ReMake:
1) Raw performance
2) Memory capacity
The P1000 and P2000 don't have much onboard memory at all, nor do they perform very well, so they are probably not good candidates in any situation. The P4000 could be viable for small image sets, but even our test of 78 photos could utilize more memory than it has onboard. The P5000 is our recommendation, then, for mid-size image sets. Its 16GB should handle up to about 250 photos at 20 megapixels, and it was only a few percent slower than the P6000 while being a lot less expensive. For really large image sets, though, the P6000's 24GB of memory lands it firmly in first place for ReMake performance.