Iray only on cpu, is it stupid?
genfro
Posts: 14
I was wondering, with the new threadripper, and a possible threadripper 64 core coming next months, can we start think rendering on cpu, taking advantage in endless ram and with not so different performance in comparison with best nvidia cards?
Comments
It's always been possible to render on the CPU - bar the new Iray denoiser - but it's a matter of speed.
yep, i'm saying, in the future can possibly be the smartest solution with the evolution is taking the hardware?
I doubt a CPU will beat a GPU (in software that supports GPU rendering).
Likely not worth it on a consumer CPU, but, on threadrippers CPUs I'm actually very curious to hear about how much speed they offer with iray because I'm thinking of upgrading my rig from an intel I7-6700K (4 cores / 8 threads)
Obviously, if the scene fits in VRAM, do it on nVidia GPUs, but surely with 16 cores/32 threads, 24 cores/48 threads, 32 cores/64 threads or even unconfirmed reports of a 64 cores/128 threads CPU, they might offer comparable performance vs a low speed GPU except there's more RAM available?
"More RAM available" - quite so. VRAM is the big issue with IRay now. I'm having trouble fitting even modest scenes into 8GB and that's with all the texture and geometry optimisation. If only NVidia would add Out-of-Core features to IRay but it seems they just want us to buy bigger/newer hardware.
Are there iray benchmark results that compares threadripper CPU only (or high core CPU only) renders compared to GPU only renders? (I'll do a search now on the forums and try to find some in the meantime.)
I've got a first gen TR, the 1950 with 32 threads. It seems blazingly fast when you're compiling a large project, but even when I had just one GTX 1080ti, there was no point in even doing a precise benchmark because the GPU was literally more than 10x faster. 64 threads would still be prohibitively slow if you've grown accustomed to rendering on a GPU.
I ran a test in Blender once, and rendering with the GPU versus GPU+CPU gives virtually the same elapsed time; I think the difference was like 3% or something as minimal.
See this thread. So far we only have results from a handful of i7/9, Ryzen 7/9 owners. But I designed the benchmark test/thread to cater to high performance CPUs as well.
Mind submitting a benchmark run for your Threadripper? The more hard numbers we have in the table the better the total performance picture we get.
I took a quick look at RayDAnt's thread, yikes. iray doesn't appear to scale well to CPU cores... that's a huge bummer.
That said, that VRAM, though I heard rumblings that VRAM pooling will work on iray server on Linux. But I haven't heard of any who went down that route yet.
I think I might end up just going with a basic threadripper, 1080ti and just add more as my needs grow, hopefully 11GB will be enough. I use a 1070 right now and ran out of video memory, that was with a scene with 4 characters, and texture resolutions scaled down to half resolution using scene optimizer.
Using the cpu with embree is the standard fallback for large scenes that don't fit the vram. So a fast cpu will help. Of course it would be better to have out of core capabilities in iray.
Not that many people CPU render as it's s slow but someone recently did and the results were different between his CPU render & GPU render, not by a huge amount but they were.
I think if it was actually the case that the algorithms for CPus had as many cores available to run in parallel as the GPUs have the CPUs would be faster but it's very expensive way to do a 3D render.
I haven't booted into Windows on that machine since I upgraded the GPUs; give me some time to verify that everything works.
OK, they're up. Bottom line: a single RTX 2080ti would still about 6 times faster than a 32 thread TR.
well, the new 32 core will be more than 2 times faster than your tr1950, so we talk of less than 3 times slower but with no ram limitation... A possible 64 core will be 50% slower...
That's an excellent point genfro that has got me thinking: With no RAM limit, one could render the background and foreground in extremely high detail. It'll take forever, but it's only two frames per static camera angle. Then the actual animations will go much faster because they'll render with basically just the characters, and maybe a much simplified fore/background just to catch shadows, etc.
Also consider that usually gpus upgrade much faster than cpus, so the gap will always be wide. But for anyone that doesn't care about speed and is used to render overnight, as for still pictures of large scenes, I guess cpu rendering is viable.
EDIT. As a simple test in my mid-level desktop. Actually the 1060 seems about 10x faster than the ryzen 3, given that the gpu uses optix prime while the cpu uses embree, as shown in the log.
Although imo it's worth keeping in mind that you're talking about what is likely to be a $3,000+ CPU upgrade (not including the needed new motherboard) for half the render performance of a single $2,500 Titan RTX.
Yeah, the 64-core part would be theoretically RAM-unlimited. However, scenes requiring more than the $2,300, 2080 SUPER Quadro equivalent RTX 5000's 16GB of VRAM (much less the Titan RTX's 24GB) are purely theoretical at this point. And as @Padone points out, by the time 16+/24+ GB scenes are common enough to matter, we should already be in the RTX 30XX/40XX era.
So getting back to the @genfro's original question,
The answer is unfortunately: yes. Not necessarily because of lack of performance on the CPU side. But because of cost.
I'm quite keen to sell my 1070 and go for a 2070 Super but I've read posts about the new Ampere due in the first half of next year and I know it makes sense to hang fire and wait for that. Especially since there is a prediction of VRAM increases across the board. This is an ever-shifting ground and it is hard to keep up, especially on a very limited budget. If others are thinking the same and holding off, I suspect that sales of the 20XX card will soon start to dwindle and NVidia might be under pressure to release Ampere cards sooner rather than later.
My CPU is a 4 year old i7 6700 and I curse all the technology gods when my render falls back to CPU.
While we have no idea how Ampere will work, on past experience it may not be supported by Iray at all on launch and could well take some months to gain support (and might, depending on the extent and nature of the chnages to the API, take longer to get optimised support). Don't forget that the version of Iray that takes full advantage of RTX cores is pretty new. It's up to you how you jump - get a 20x0 card and risk soemthing better and usable coming out within six months, or wait and find it's possibly into 2021 before it's worth getting Ampere; we have no idea which will prove to be the case.
But the calculation of a 6x or 3x or just 50% slowdown is relative to just ONE RTX 2080ti... I have to agree with RayDAnt... there's just no case where there's a favorable comparison.
In a pinch where one has no choice but to animate a scene that doesn't fit on the GPU, I don't think there's another option other than a small number of static camera shots, rendering in layers, and composing the result.
In Blender there's an easy way to get rays that escape to map to the alpha channel in Cycles, and I assume there's a simple way to do that with IRay, as well.
And I am really anxious to see what AMD can pull out of the hat with Navi 20. They will have their "NVidia Killer" to show, probably at that conference, whose name I can't remember, in January. The reason I'm really excited is because rumor has it that it is meeting performance expectations, but the power consumption was unacceptable. But then just a few days ago, AMD released the new 16/32 Ryzen 9 CPU (it's a Ryzen, not a Threadripper) which is absolutely clobbering Intel offerings at more than twice the price, and at the SAME TDP. Apparently, they've made a breakthrough on Ryzen. That doesn't necessarily transfer to Navi, but it is encouraging... hopefully they've developed a general design technique.
Competition is always good.
That's another important point as well. With the exception of very high cost server equipment multi-CPU systems aren't presently a thing. Meanwhile running multiple Nvidia GPUs even on fairly pedestrian consumer level motherboards is downright trivial. And Iray specifically has one of the lowest/best multi-GPU performance loss factors out there.
Although keep in mind that published TDP numbers from any of the major chip manufacturers are technically meaningless since they are customarily derived from non-fixed sets of underlying perrformance metrics:
Meaning that they can be tweaked to express literally whatever numbers manufacturers want.
Oh dang. You make good points too. Although right now, with all this falling back to CPU, another 8GB GPU will suffer the same problems that I'm having now.
Good point. But I would hope that the figure is within some reasonable tolerance of the quoted 105W, which would still be amazing to me.