Author Topic: Nvidia real-time raytracing  (Read 28272 times)

2018-08-14, 13:51:00

soso

  • Active Users
  • **
  • Posts: 63
    • View Profile
Guys, here's the new Nvidia Quadro RTX (Real time ray tracing) GPU:
https://www.ustream.tv/NVIDIA

In other words, the GPU has much more powerful CPU (RT Cores) than the most powerful CPU's this days. Btw, the next Nvidia Geforce will launch with the ray tracing capability like CPU:
https://wccftech.com/nvidia-geforce-rtx-graphics-card-turing-launch/

And I just wondering, could it work with the CPU render engine like Corona? (because it has CPU capability now, not just rasterization)
« Last Edit: 2018-08-14, 14:38:16 by soso »

2018-08-14, 18:12:09
Reply #1

cecofuli

  • Active Users
  • **
  • Posts: 1577
    • View Profile
    • www.francescolegrenzi.com
"the GPU has much more powerful CPU (RT Cores) than the most powerful CPU's this days."

Are you sure? I mean, in real scene, in "normal" office?
Now we have 32 Core CPU (1700 euro). And, next year, maybe 64 single Core CPU
Do you know that the new Quadro with 48 GB price is 10.000 euro!?
And you need a specific software written to this architecture.
You cannot simple switch from CPU to GPU.
Also all our plug-ins must be converted etc...
Maybe in 10 years all rendering engines (also Corona) will run on GPU with RTX technology.
But, now, it's only a preview. It's like "look at the direction we are going". Only very big company can buy these card.
And you need a specific software.

Do you remember the first DEMO of V-Ray IR? 10 years ago.


Everybody were shocked! Now we are in the same situation with RTX =)
Now, 2018, after 10 years, IR is usable in production for almost everybody.
But we had to wait... 10 years to see this technology mature, stable and affordable =)

But yes, Corona must to watch in the GPU direction too, and not only for VFB or Denoise.
Otherwise they will risks to go out of the games.
but, it means more money, more Devs, more employees etc...
And, maybe, there are some "hidden" agreements between  Chaos and RL: "VRay will go in GPU direction, and Corona in CPU. Who knows... ;-)



 
« Last Edit: 2018-08-14, 18:53:46 by cecofuli »

2018-08-15, 04:16:21
Reply #2

soso

  • Active Users
  • **
  • Posts: 63
    • View Profile
"the GPU has much more powerful CPU (RT Cores) than the most powerful CPU's this days."

Are you sure? I mean, in real scene, in "normal" office?
Now we have 32 Core CPU (1700 euro). And, next year, maybe 64 single Core CPU
Do you know that the new Quadro with 48 GB price is 10.000 euro!?

Yes, I'm sure. Here:

Single Quadro RTX 8000                                              =        10.000.000.000     rays per second ($10,000)
Single Quadro RTX 5000                                              =          6.000.000.000     rays per second ($  2,300)
Single GeForce RTX 2080                                            =          8.000.000.000     rays per second ($     699)
Single Threadripper 2990WX 32-Core Processor  =                13.024.100      rays per second ($  1,799)

Source:
https://cdn.wccftech.com/wp-content/uploads/2018/08/NVIDIA-Turing-RTX-Die-Breakup.png
https://corona-renderer.com/benchmark/cpu/AMD%20Ryzen%20Threadripper%202990WX

Btw, the "AMD Ryzen Threadripper 2990WX 32-Core Processor (×4)" is only 1 CPU, not 4 CPUs. Look at the cores/threads count. "(×4)" is the die count in the 2990WX CPU itself (4 dies). To corona team, please fix this benchmark or update it to the recent version of Corona ;)


And you need a specific software written to this architecture.
You cannot simple switch from CPU to GPU.
Also all our plug-ins must be converted etc...
Maybe in 10 years all rendering engines (also Corona) will run on GPU with RTX technology.
But, now, it's only a preview. It's like "look at the direction we are going". Only very big company can buy these card.
And you need a specific software.
Do you know I'm just messing around with the Corona team to wake 'em up. And I hope they are aware of it. Look at this:
http://www.cgchannel.com/2018/08/video-chaos-groups-neat-new-real-time-ray-tracing-tech/

I think many render engines will really implement it in the next 1-2 years from now. And I don't wanna see this amazing render engine left behind with another render engines. You know, this days, the technology is growing more faster than we expected. Thanks to Nvidia technology, AMD VS Intel, and AI (Artificial Intelligence).

NOTE: GPU is the future, not the CPU anymore like in the Skynet Terminator's brain, if you know what i mean ;)
« Last Edit: 2018-08-31, 16:32:24 by soso »

2018-08-15, 16:25:16
Reply #3

Ryuu

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 654
  • Michal
    • View Profile
DISCLAIMER: Anything said in this post (and my subsequent replies) is just my personal opinion and it is not definitely any official statement.

In other words, the GPU has much more powerful CPU (RT Cores) than the most powerful CPU's this days.

You do understand that CPU core and GPU cores are vastly different and therefore comparing their counts does not make any sense, right? :) Also "more powerful" is kinda relative. Are GPUs generally more powerful than CPUs at trivial number crunching? Definitely. Are GPUs generally more powerful than CPUs at parsing C++ source files? I wouldn't be so sure about that.

Now we have 32 Core CPU (1700 euro). And, next year, maybe 64 single Core CPU

I kinda doubt we'll see 64-core CPU in next AMD generation or anytime soon. 48-core is a bit more likely, but I wouldn't still bet on that for the next generation.

Also all our plug-ins must be converted etc...

Yes, this is one of the major benefits of using CPU. Unless a plugin has any special requirements from the used renderer, any new sexy plugin you find will work from day one. If Corona was GPU renderer, you will have to request that we support this plugin, then wait at the very least a few days until we do, then you can finally try it with Corona, but you will still have to wait for us to debug it and then after many weeks when all this is finally done and you had the real chance to try this plugin - you find that it's really useless for your needs ;) Of course, reality is not that simple and some plugins may need compatibility tweaking for CPU rendering and with good APIs, most plugins may work out of the box with a good GPU renderer.

But yes, Corona must to watch in the GPU direction too, and not only for VFB or Denoise.

We'll definitely start with baby steps by moving all the image post processing to GPU and then we'll see where we will get from there.

Single Quadro RTX 8000                                              =        10.000.000.000     rays per second ($10,000)
Single Quadro RTX 5000                                              =          6.000.000.000     rays per second ($  2,300)
Single GeForce RTX 2080                                            =          6.000.000.000 ?  rays per second ($     699 ?)
Single Threadripper 2990WX 32-Core Processor  =                13.024.100      rays per second ($  1,799)

What exactly does "ray" mean in this context? Is it just computing a single ray-triangle or ray-box intersection? Is is traversing the whole scene and finding out which primitive did the ray hit? Does it also include shading the hit, evaluating all the maps, etc.? Is this just for coherent primary rays, or are the numbers still the same for the wildly incoherent secondary rays? You're comparing two sets of numbers which can mean very different things.

My home path tracing code can process 30 megarays per second on a single core. I don't really think this means its more powerful than Corona :)

I'm definitely not saying that GPUs are not powerful. Optimized GPU renderer may be able to process more data than optimized CPU renderer (depending on specific GPU and CPU). But these numbers don't really prove it, unless we know what exactly do they mean.

Ad speculation about 2080 - I'm not following the news, are future consumer GPUs supposed to feature the tensor cores, or are these just a quadro feature?

Btw, the "AMD Ryzen Threadripper 2990WX 32-Core Processor (×4)" is only 1 CPU, not 4 CPUs. Look at the cores/threads count. "(×4)" is the die count in the 2990WX CPU itself (4 dies). To corona team, please fix this benchmark or update it to the recent version of Corona ;)

Yep, I know about that. It's not nice, but on the other hand it's not really that critical to warrant releasing a new version of benchmark just because of that. Releasing a new version of benchmark would mostly invalidate all the previous results. We might do a new version once we finish porting Corona to another platform.

Do you know I'm just messing around with the Corona team to wake 'em up. And I hope they are aware of it. Look at this:
http://www.cgchannel.com/2018/08/video-chaos-groups-neat-new-real-time-ray-tracing-tech/

I guess that I don't really have to mention that we knew about project Lavina before this blog post went public, right? ;)

2018-08-15, 17:39:39
Reply #4

agentdark45

  • Active Users
  • **
  • Posts: 577
    • View Profile
While we are talking about GPU rendering, the biggest upside for me is the relatively low cost to performance benefit.

For example, you could stick 4x1080ti's in a barebones machine and end up with an absolute powerhouse of a system for FStorm.

In a few years when Nvlink is the norm and shared GPU memory is a thing I can quickly see CPU only renderers dying out (especially when factoring in ludicrous DDR4/DDR5 prices). Add in networked GPU rendering + Nvlink and it's game over.

Ideally what I'd like to see is CPU/GPU hybridisation (for rendering, not just VFB tasks). I realise what a mammoth task this might be from reading the above post, but there just seems to be so much untapped performance to be had.

Maybe Chaos group can lend a helping hand? ;)
Vray who?

2018-08-16, 10:33:55
Reply #5

soso

  • Active Users
  • **
  • Posts: 63
    • View Profile
Watch here:

Arnold render (GPU) with RTX at 0:35

Arnold render with Threadripper 2990WX 32 Core at 5:10

2018-08-16, 11:39:19
Reply #6

Nejc Kilar

  • Corona Team
  • Active Users
  • ****
  • Posts: 1251
    • View Profile
    • My personal website
Watch here:

Arnold render (GPU) with RTX at 0:35

Arnold render with Threadripper 2990WX 32 Core at 5:10

Don't think it is wise for anyone to compare such vastly different scenes.

I have a 4790k that will render a clay scene in 10 seconds while I have another clay scene that takes 20 seconds just to load the scene geo on a 2x 2969v3 . I mean really, those are two vastly different scenes. Can't come to any conclusions like that imho.

As far as the RTX itself goes... Nvidia has hyped things up in the past. To their "credit" so did AMD. As always it will be a wait and see game to see how easily this technology can be leveraged and if it really helps speed up the rendering process. Anyone following the industry for a long(er) time undoubtedly remembers that every few years we get THE MOST DISRUPTIVE TECH ON THE PLANET (8x-10000x faster than what we had before yada yada) which ultimately never takes off.. In general though, I like the push towards DRX and RTX. Seems like a legit thing.

What I like is that some companies are accessing RTX through DRX which means we aren't locked to a single hardware vendor - at least from my understanding.

Nejc Kilar | chaos-corona.com
Educational Content Creator | contact us

2018-08-17, 02:24:02
Reply #7

soso

  • Active Users
  • **
  • Posts: 63
    • View Profile
Do you know I'm just messing around with the Corona team to wake 'em up. And I hope they are aware of it. Look at this:
http://www.cgchannel.com/2018/08/video-chaos-groups-neat-new-real-time-ray-tracing-tech/

I guess that I don't really have to mention that we knew about project Lavina before this blog post went public, right? ;)
I mean, to tell you that with this new invention, CPU render is not interesting anymore, maybe in 1 year later from now. Who knows? And people will try, or even switch their pipeline to GPU related render engine. Nvidia is already predicts it since some years ago, that GPU is the future for Film/CG/DCC/Design/Visualization industry. That's why they increase the VRAM in Quadro and Tesla like crazy, more than their gaming GPU (Geforce). Then, they add the Tensor core and RT core in their new GPUs.

Quadro RTX has 48 GB GDDR6
RTX 2080     has   8 GB GDDR6
RTX 2080 Ti has 11 GB GDDR6

Btw, according to the leak, the next Geforce RTX will have tensor core, and support NVLINK.
« Last Edit: 2018-08-17, 03:07:55 by soso »

2018-08-17, 08:06:11
Reply #8

soso

  • Active Users
  • **
  • Posts: 63
    • View Profile
From what I watch in:

Are GPUs generally more powerful than CPUs at parsing C++ source files? I wouldn't be so sure about that.
I'm not a developer. I'm just an artist. But, can it be done in hybrid (CPU+GPU+Tensor core) way ?

New generation of hybrid rendering
00:33:37.936

What about this:
https://developer.nvidia.com/how-to-cuda-c-cpp
https://developer.nvidia.com/gpu-accelerated-libraries

What exactly does "ray" mean in this context? Is it just computing a single ray-triangle or ray-box intersection? Is is traversing the whole scene and finding out which primitive did the ray hit? Does it also include shading the hit, evaluating all the maps, etc.? Is this just for coherent primary rays, or are the numbers still the same for the wildly incoherent secondary rays? You're comparing two sets of numbers which can mean very different things.
I think yes, it really has the CPU ray tracing capability, according to Jensen Huang. Watch from:
00:29:39.616 - 00:30:53.620

That's why they research the RT core since ten years ago.

Please watch the cornell box from this to see the the CPU capability with this RTX:
00:36:47.092 - 00:46:34.572



4 x Tesla v100 ($60,000) = 5 rays per pixel -> reflection, area lights, dynamic area lights, soft shadows.
00:20:59.000

1 x Quadro RTX ($10,000) = 10 Giga rays per second (from RT core)

Ad speculation about 2080 - I'm not following the news, are future consumer GPUs supposed to feature the tensor cores, or are these just a quadro feature?
I think yes, like the Tesla V100 and Titan V (both are volta architecture). Both have tensor cores. I think it applied to the Geforce RTX too.


Btw, here's the realtime ray tracing capability from the RTX GPUs:

Realtime ray tracing "Porsche car"
00:52:56.689

Realtime ray tracing "Dancing Robot"
01:20:57.423

2018-08-17, 14:35:07
Reply #9

Nejc Kilar

  • Corona Team
  • Active Users
  • ****
  • Posts: 1251
    • View Profile
    • My personal website
I've been keeping tabs on the rumor mill for the new RTX series and what excites me the most at this point is that it I've read quite a couple of rumors that say that even the Geforce cards will have a NVLink connector. If it works then that means we'll effectively be able to double the RAM by going multi-gpu (afaik it works only in 1+1 mode so with an 8gb baseline card you'd get 16gb of VRAM if you slot more of them).

I'm still not sold on the RTX thing yet. The way it was presented made it seem like its going to offer a buttload of performance which usually means its only marginally faster. Time will tell :)

@soso
As for you comment about nvidia predicting stuff... Theatrical marketing promos sure do predict a lot but the actual reality is sometimes not quite as clear cut as most companies would like to admit. Just remember that real time raytracing was about to breakthrough in like the early 2000s, or was it the 90s? We still aren't quite there are we? :)

I like innovative stuff so I'm hopeful both CPU and GPUs get better each year :)
Nejc Kilar | chaos-corona.com
Educational Content Creator | contact us

2018-08-17, 15:25:41
Reply #10

soso

  • Active Users
  • **
  • Posts: 63
    • View Profile
I've been keeping tabs on the rumor mill for the new RTX series and what excites me the most at this point is that it I've read quite a couple of rumors that say that even the Geforce cards will have a NVLink connector. If it works then that means we'll effectively be able to double the RAM by going multi-gpu (afaik it works only in 1+1 mode so with an 8gb baseline card you'd get 16gb of VRAM if you slot more of them).

Here, if you wanna see more:

Titan RTX      12G  nvlink 2x
RTX 2080 ti   11G  nvlink 2x
RTX 2080        8G  nvlink 1x
RTX 2070        8G  nvlink 1x
GTX 2060       6G  nvlink no


@soso
As for you comment about nvidia predicting stuff... Theatrical marketing promos sure do predict a lot but the actual reality is sometimes not quite as clear cut as most companies would like to admit. Just remember that real time raytracing was about to breakthrough in like the early 2000s, or was it the 90s? We still aren't quite there are we? :)

Maybe path tracing using GPU that you mean in 2000. The real time path tracing using GPU is an old news. It can be done a long time ago before turing. But, for ray tracing, it's so complex to do that, more than just using a CPU. Like Arnold render GPU, they even already have the prototype in 2014:
http://www.cgchannel.com/2014/08/solid-angle-to-preview-gpu-based-version-of-arnold/

But, why don't they just finished and sell it in 2015-2016? Why it take so long to release it? That's because of the limitation in the GPU to computing some complex things, like reflection, GI, caustics, etc. It need to be "faked", or need to make some "magic" code to do that.

But, if you just need a path tracing for your scene using unreal engine, you can do it so fast, but it still have those limitations. You need to "fake" them to hide the limitation on the GPU.

I think it's better to start the GPU render project now, than it's too late later, and nothing can be done to compete the other GPU render engine. No offense guys :)
« Last Edit: 2018-08-18, 17:09:04 by soso »

2018-08-17, 15:40:47
Reply #11

agentdark45

  • Active Users
  • **
  • Posts: 577
    • View Profile
I think it's better to start the GPU render project now, than it's too late later, and nothing can be done to compete the other GPU render engine. No offense guys :)

Or Chaos group could buy out the FStorm dev. Could you imagine what he could do with their resources and team behind him?
Vray who?

2018-08-17, 15:54:04
Reply #12

soso

  • Active Users
  • **
  • Posts: 63
    • View Profile
Or Chaos group could buy out the FStorm dev. Could you imagine what he could do with their resources and team behind him?
Then the FStorm guy resign, and make his renderer again based on Chaos source code  :))

2018-08-18, 11:22:20
Reply #13

Nejc Kilar

  • Corona Team
  • Active Users
  • ****
  • Posts: 1251
    • View Profile
    • My personal website
I've been keeping tabs on the rumor mill for the new RTX series and what excites me the most at this point is that it I've read quite a couple of rumors that say that even the Geforce cards will have a NVLink connector. If it works then that means we'll effectively be able to double the RAM by going multi-gpu (afaik it works only in 1+1 mode so with an 8gb baseline card you'd get 16gb of VRAM if you slot more of them).

Here, if you wanna see more:

Titan RTX      12G  nvlink 2x
RTX 2080 ti   11G  nvlink 2x
RTX 2080        8G  nvlink 1x
RTX 2070        8G  nvlink 1x
GTX 2060       6G  nvlink no


@soso
As for you comment about nvidia predicting stuff... Theatrical marketing promos sure do predict a lot but the actual reality is sometimes not quite as clear cut as most companies would like to admit. Just remember that real time raytracing was about to breakthrough in like the early 2000s, or was it the 90s? We still aren't quite there are we? :)

Maybe path tracing using GPU that you mean in 2000. The real time ray tracing using GPU is an old news too. It can be done a long time ago before turing with rasterization. But it's so complex to do that, more than just using a CPU. Like Arnold render GPU, they even already have the prototype in 2014:
http://www.cgchannel.com/2014/08/solid-angle-to-preview-gpu-based-version-of-arnold/

But, why don't they just finished and sell it in 2015-2016? Why it take so long to release it? That's because of the limitation in the GPU to computing some complex things, like reflection, GI, caustics, etc. It need to be "faked", or need to make some "magic" code to do that.

But, if you just need a simple ray tracing for your scene using unreal engine, you can do it so fast, but it still have those limitations. You need to "fake" them to hide the ray tracing limitation on the GPU.

I think it's better to start the GPU render project now, than it's too late later, and nothing can be done to compete the other GPU render engine. No offense guys :)

Thanks for the info (probably from videocardz, right?) but at this point I don't think anybody from Nvidia confirmed that the NVLink on the Geforce RTX line will actually be enabled. I mean it sure looks that way but I guess we'll have 100% confirmation on Monday. Don't want it to be just a PCB tongue that does nothing. Exciting times for sure though!

As for the ray-tracing on the GPU in games... From my understanding, yeah, you can do partial ray-tracing which is what the DXR / RTX do. You can trace reflections, maybe a couple of light bounces but its still fairly crude compared to an offline renderer. Like really crude. So I politely need to disagree with you on that.

Yes, pathtracing on the GPU is being done since they went the whole GPGPU route. That said, even today, even in the Quadro 6000 offline renderer demos it still is not real time - you still get noise, you still need to wait for things to clear up.

For games the rasterization is still what they are doing and that is why it is real time. With the addition of DXR / RTX however they are now introducing _some_ raytracing into the whole picture. The main thing is the reflections which can now be off-screen (a big limit of rasterization) and a few extra things. I don't see how we can call that real time ray tracing though. Partial real time ray tracing sure but there is a long way to go still :) I do like the initiative.

A good read about the basic differences between rasterization  and raytracing -> https://blogs.nvidia.com/blog/2018/03/19/whats-difference-between-ray-tracing-rasterization/
« Last Edit: 2018-08-18, 11:25:50 by nkilar »
Nejc Kilar | chaos-corona.com
Educational Content Creator | contact us

2018-08-18, 13:54:06
Reply #14

soso

  • Active Users
  • **
  • Posts: 63
    • View Profile
Thanks for the info (probably from videocardz, right?) but at this point I don't think anybody from Nvidia confirmed that the NVLink on the Geforce RTX line will actually be enabled. I mean it sure looks that way but I guess we'll have 100% confirmation on Monday. Don't want it to be just a PCB tongue that does nothing. Exciting times for sure though!
No, it's from a chinese guy some days ago. Well, just wait until monday tho...


As for the ray-tracing on the GPU in games... From my understanding, yeah, you can do partial ray-tracing which is what the DXR / RTX do. You can trace reflections, maybe a couple of light bounces but its still fairly crude compared to an offline renderer. Like really crude. So I politely need to disagree with you on that.
Sorry, my previous comment is wrong. I already edit that. Yeah, the quality from real time path tracing from unreal isn't good enough if we compare it with the raytraced CPU render quality (offline render). But now, they support the real time raytracing using RTX GPU (Hybrid rendering using GPU, RT core & tensor core).


Yes, pathtracing on the GPU is being done since they went the whole GPGPU route. That said, even today, even in the Quadro 6000 offline renderer demos it still is not real time - you still get noise, you still need to wait for things to clear up.
Do you mean this video?
http://www.cgchannel.com/2018/08/video-chaos-groups-neat-new-real-time-ray-tracing-tech/

It's pure ray tracing, not path tracing and realtime not offline render. They said:
Quote
This video is a screen capture of one of several demos being presented using standard vrscenes exported from 3ds Max and Maya. It has Project Lavina running on a Lenovo ThinkStation P920 workstation with a single Quadro RTX 6000 for its GPU. Everything you see is purely ray traced and runs at real-time frame rates at HD resolution. The materials and lighting are direct conversions from the vrscene, and we’re enabling one bounce of global illumination.

In the youtube, they said:
Quote
You’re looking at over 300 billion triangles, rendering in HD at 24-30 frames per second – in real-time, with no loss in detail.
It doesn't mean offline render. They said "screen capture", it can be done using Bandicam or etc. The settings is using 720p, and it gets 24-30 fps in realtime, with over 300 billion triangles on that scene. It using real-time Chaos denoiser written in HLSL that also allows it to run on almost any GPU. Btw, they just enabling one bounce of global illumination.

If you compare it to "SIGGRAPH 2018 - NVIDIA CEO Jensen Huang - Reinventing Computer Graphics" video, they are using real time hybrid rendering (GPU, RT core & tensor core) in Unreal. The realtime denoiser is used using tensor core. Here's the explaination in the cornell box realtime render:
00:36:47.092 - 00:46:34.572
« Last Edit: 2018-08-18, 17:31:07 by soso »