Render bang per buck CPU/GPU
Trying to figure the best render bang per buck using my current system as a benchmark, prices AUD
(stuff here in Australia is heavily marked up after import).
I'm running a pair of 2.1g Xeon (2620 v4) with 32g ram and a Nvidia 1060 with 6g.
Running the same scene with iterations set to 100 max (DS4.12) I got the following results:
1) CPU & GPU render time 76 seconds
2) CPU only render time 130 seconds
3) GPU only rener time 126 seconds
The cost (average) of a Xeon 2620 is about 700$ (x2 =1400$)
1x Nvidia 1060 6gb is about 470$
Conclusion x1 400-500$ GPU smashes the CPU from a $ point of view if I am looking at this correctly by 3-4 times.
Please let me know if I am analysing this incorrectly.
Q: If this analysis is correct, how many GPUs can I squeeze in a PC?
and which GPUs give the best rendering performance considering their price?
Note: The GPU used over 80% of its 6G memory so I plenty of graphics memory is a must.
Comments
Your numbers don't seem right compared to my experience. On my system (GPU 1070) I have to make sure CPU is de-selected in the render settings because GPU+CPU actually takes longer than GPU alone. And CPU only takes several times the length of time taken for a GPU render. I don't know whether your 2xXeon is a potent combination but I've never heard of any CPU coming anywhere close to a GPU render time.
As for VRAM, I have trouble (especially with 4.12) managing to fit a scene in my 8GB so I am waiting for the new 30xx range in the hope that VRAM will be increased substantially for the lower-end cards.
I agree with @marble, you probably only run on cpu because your scene is too big for the gpu, see the log for cpu reversing. A couple of xeon will never match a 1060, my guess is that in your case the 1060 will be about 5x faster than the xeons. As for the best price/performance at this time I'd go with a couple of 2070 super that you can nvlink to get 16gb vram. But it's probably better to wait for 30xx.
Of course I assume that you're talking about iray since with amd cards there are better options.
I tested as described, same machine, software, scene and settings (camera & HD output) except for the Photreal Devices setting (CPU & GPU).
1) I started each render keeping an eye on the PC's time and not just the rendering image window counter so I should be within a second of being acurate.
2) I had Taskmgr open and kept an eye on the CPU & GPU usage to make sure they behaved as expected, if they didnt I would be asking why not instead.
Regarding the Xeons there are two running for a total of 16 cores or 32 threeds and I have found that my Xeons have run a bit faster than my old PC & laptop both with higher rated speed i7s.
I limited the Iterations to 100 rather than the default of 5000, I am not sure if this is a factor but its about the only non default setting other than the CPU & GPU settings.
Like I said I may have missed something which is why I'm asking the forum but I think I was reasonably thourough.
Apologies the output was 1200x720 and not HD and is rendered to a window (1xframe).
I did notice that my CPU did vary/burst up to as much as 2.48 Ghz on taskmgr but seemed to average around 2.29 so it is running above the default 2.1 Ghz.
While I am unsure of the GPU usage the CPU was only running at 8-12% usage when the render was set to GPU only so I'm reasonably sure the GPU was doing the rendering there.
I re-run with GPU-Z running to better monitor the GPU performance.
With both CPU & GPU or GPU alone the GPU load varied between 94-100%.
Run with CPU only.
When more than one person has a different result I assume I am wrong but these are the result I am observing.
GPU memory usage varied around 4.6g of the 6G available (GPU-Z).
The scene I am rendering is large with over 1.7 million vertices for the jet alone.
Maybe CPUs & GPUs handle polygons differently, I would expect the GPU to handle textures better than a CPU but I cannot find any info on this.
I'm using only one GPU at the moment but does anyone have any data on performance of PCs with multiple GPUs?
Is there a performance gain rendering with multiple GPUs?
@Mouser In the task manager you may set the gpu parameter to cuda instead of 3d to see the gpu usage, nevertheless the dedicated gpu memory and low cpu already tell that you're rendering with the gpu. It seems embree is much better than I expected. For sure it's better than optix prime on cpu from which my 5x guess above. Unless your gpu doesn't run at full speed for some reason. You can check it with gpu-z.
I did some tests myself right now with embree and in my system the 1060 runs about 7.5x faster than the 2200g, no overclocks. Now the 2200g scores about 7k at passamark while a single 2620v4 scores 11k. So I'd expect the 1060 to be about 2.5x faster than the xeons (7.5 * 7 / 22).
EDIT. Your gpu-z shows full speed for the 1060, so either your xeons are over or my ryzen is under passmark. I bet the second since many ryzen users overclock, that I don't. Even so it is the hell of a difference from passmark. As for multiple gpu performances yes, they roughly sum up with iray.
Thanks for the heads up on CUDA over 3D.
I'll do some retesting.
Is Embree free/downloadable?
Found it;)
@Mouser You don't need to install embree, it's already used by daz studio 4.12 for cpu rendering, while 4.11 used optix prime for cpu rendering. You can see it in the log (help > troubleshooting > log).
IRAY rend info : Using Embree 2.8.0
Shows my ignorance.
Glad to help. And thank you for posting your tests they're very interesting to me.
Unfortunatly I am unsure if I am reading what I test correctly.
A number of you have experianced bad render times using both CPU & GPU but I am finding the opposite.
Is there somthing wrong with my system if this is the case & what is it?
Fustrating.
@Mouser if you want to compare with others there's a benchmark discussion where they all use the same test scene provided by @SickleYield. From what I can see your tests seem good though.
https://www.daz3d.com/forums/discussion/53771/iray-starter-scene-post-your-benchmarks
Thanks;)
Interesting different result.
Ran a series of render tests using only a Genesis 8 figure only (no jet) and found the following:
CPU & GPU = 16 seconds
CPU = 40+ seconds
GPU = 16 seconds
The CPU & GPU render option behaves diferently depending on the models in the scene.
With a character only the CPU is obviuosly not being used.
Rerun the test with two figures this time.
CPU & GPU = 34 seconds
GPU = 17 seconds
I'm wondering if the distribution of the rendering is a bit more primative than I gave DS credit for.
Is the CPU rendering one figure & the GPU rendering the other?
The renderer is simply assigning specific sections of the image to the different devices avilable. It doesn't divide the scene into discrete objects, just regions. As for render speed, I find my 12-Core Xeon to be useless in rendering, I leave it for other work.
@Mouser For render tests it is fair to leave some time for the scene setup and interprocess communication. So doing tests of some seconds doesn't really mean anything. You may increase the iterations to let the render go for at least some minutes to get fair comparisons.
Then iray uses one cpu thread per card anyway to handle the scene even with gpu only. Then the cpu is usually shared among other tasks that's not ideal, so setting cpu affinity may also help. Then your specific case may not be usual since you got a high-level cpu and a mid-level card, that's the opposite of what people do since as you discovered yourself gpus get a much better price/performance ratio.
Unfortunatly the 100% plus markup of importing anything IT to Australia is making this whole examination mute.
DOH!
Locked in by covid, bored to the point i'm analysing rendering again.
Plus I hope to upgrade in the future;)
Morroco scene plus 3 g8m figures.
First render went straight to CPU so I'm gussing Vram is being exceeded.
Saved the scene in two parts, Morroco and people to be rendered seperatly.
Ran both as GPU only (1060) 1xframe (1.8 of that Vram always being reserved by DS & Win10)
Morroco = 5.8/ 6.0 Gb vram render time = 1m 38s
People = 5.2/6.0 Gb Vram render time = 48s
Then ran as CPU only (2xXeons = 16 cores or 32 threeds)
Morroco = 26/32 Gb ram render time = 1m 35s
People = 19/32 Gb ram render time = 46s
Runing both GPU & CPU made negligable difference in render time (1 to 3 seconds)
So there seems little use in using both to render even if both have the memory available.
As you need Xeons if you want multiple CPUs and considering the speeds of the newer GPUs I'm planning on moving to GPU based rendering.
That sucks. That's crazy. GPU rendering blows away CPU rendering with Iray. There's a good benchmarking thead:
https://www.daz3d.com/forums/discussion/341041/daz-studio-iray-rendering-hardware-benchmarking/p1
Looks like the Nvidia 3000 series is well worth it. Waiting sucks, if there is any silver lining it's that AMD is finally giving Nvidia some competition in the gaming performance, and appears that Nvidia has responded positively for us with cards with more VRAM for decent prices. A 20 GB 3080 Ti, and if I recall there may be a 16 GB 3070 in the works.
That sucks. That's crazy. GPU rendering blows away CPU rendering with Iray. There's a good benchmarking thead:
https://www.daz3d.com/forums/discussion/341041/daz-studio-iray-rendering-hardware-benchmarking/p1
Looks like the Nvidia 3000 series is well worth it. Waiting sucks, if there is any silver lining it's that AMD is finally giving Nvidia some competition in the gaming performance, and appears that Nvidia has responded positively for us with cards with more VRAM for decent prices. A 20 GB 3080 Ti, and if I recall there may be a 16 GB 3070 in the works.
Here we just call it the Australian tax, whatever it costs in the USA you can double the price here.
Additionly the cards are largly unatainable except through scalpers but that issue looks to be eveywhere.
Are there any tools for calculating the required Vram for a scene to be rendered in Iray?
Considering my largest render to date I am trying to calculate how much Vram I require minimum.
1)Win10 & DS seem to reserve about 1.8 Gb of Vram.
2)As I split my previous render roughly in half if run both as a single render (5.8 + 5.2 -1.8 = 9.2Gb Vram required)
3)I'm roughly 3+ Gb of Vram short with my 1060 GPU.
There are probably a heap of issues with my approche but I have to start somewhere and calculate somehow my Vram requirments.
GPUs here in Aus are expensive and I'm trying to make sure I get the most appropriate GPU vs $.
Unfortunately there isn't a way to pre-calculate the memory requirements of a scene.