I know what raytracing is, there are Raytracing engines like Cycles in Blender which I’m using and loads of other ones and you can choose to do the raytracing render with either a CPU or a even older lower end GPU, so…what does the future Nvidia gpu RTX technology actually do?
We can already render using our gpu’s and even cpu’s, there are already rendering programs that use Raytracing, so does RTX just make game engines use Raytracing with less coding for the developers or what? More importantly, will there be a difference between using a RTX grade gpu and a one made prior? Don’t know if it would make sense in investing in a stronger (non RTX) GPU if it may potentially be useless once Raytracing games become a thing, I hope not, but…I don’t know.
Purpose built silicon can do this much faster than traditional CPU instructions while doing it in a massively parallel fashion.
As this was not as thread safe under traditional CPU’s you had shared resources with a lock on common resources which is a race condition. Really it applies to Amdahl’s law and as this was difficult to parallelize it dramatically impacts the increase in performance for multi-threaded games.
Thread safe ? I guess you mean that to get the full benefit of modern 4 core CPU, you need to run 4 threads.
I think the game writers can find ways to use more cores, but perhaps less efficiently than getting the 4 times speed up of using 4 cores rather than 1… While its a little bit of a race, where one thread could do 60 fps while the other thread does 50 fps… some synchronisation sleeps soon gets the faster thread to not race ahead and get a quarter way through a job and leave a quarter of a thing drawn. There’s other ways to keep the threads in lock step I guess… busy waits ?
You’ve gone on the wrong track.
In fact the GPU code is the one at more risk , notionally, with so many literaly CPU (rather than CPU packages) , it should be at greater risk of readers writers problem ? Or locking a page and slowing down N cpu cores to the speed of one by having the others idle… They just do things that aren’t a problem, they don’t lock, they just keep to their own partitions of the data… no locking required.
A NVidia GTX 1050 has this performance…
FP32 (float) performance 2,138 GFLOPS
FP64 (double) performance 66.82 GFLOPS (1:32)
its a single precision chip, hence the radical slow down for double.
But the RTX Single , 12288.0 Double … 6144.0 Hey, its only halved for double precision. Thats a double precision FPU at work.
For reference , An intel I7 … has single performance of 250 gflops and double of 140 gflops. And the only way forward is to add more cores, which requires inefficient addition of threads with the increase in cache misses…
Why do I meantion cache ? One reason the main CPU isn’t built to also be the GPU is that the GPU will be working on a relatively small amount of memory cache per core … the cores on it work on nearby pixels, so that the one cache is good for all the cores…
Video games are fine with single precision BTW, Why did you chose the low end card?
Double precision is artificially limited on current Geoforce branded pascal cards, but it is not a “single precision chip” for the pascal to protect their other product lines. But RTX is volta, which doesn’t have that same artificial limit so far.
But you are thinking in loops too much, which is why CPU’s can’t do real time ray tracing and tend to just do rasterization because it is too expensive to do so.
Maybe this nvidia example image will show how different the ray tracing results can be, note that this is computer generated and should be able to work close to “real time”
Threaded isn’t parallel, threaded doesn’t scale due to locks.