Advertisement

In depth presentation of the architecture of a modern GPU

Started by October 23, 2020 01:39 PM
7 comments, last by lmainguy 4 years, 3 months ago

GPU Gems 2 had an excellent series about GPGPU programming 15 years ago (https://developer.nvidia.com/gpugems/gpugems2/part-iv-general-purpose-computation-gpus-primer​).

It covered the architecture of a GPU, its memory model, how branching works plus numerous tips how to improve performance of a compute shader.

But it has been published 15 years ago, and I'm afraid that some parts of it are not relevant anymore. Is there some content somewhere that covers the same topics for recent GPUs ?

I tried different keywords on Google but didn't come up with something as useful as this series on GPU Gems 2. It could be in a book, a series of articles on the web or a video presentation, it doesn't matter to me.

Thanks

not saying that this is like-for-like replacement, but you have GDC tech talks on youtube (subscribe for live feeds), also nvidia tends to publish a doc or another here and there, the gameworks section might be of interest to u:

https://docs.nvidia.com/

AMD and microsoft, have also got similar communities, although i think u need to register or …;

if it is cpp that u want updates on, then forums and faq at https://isocpp.org/std/the-standard​ could cut the deal;

then check amazon.xxx for new books on 3D;

check Universities webportal folks (there's always a phD geek cranking new graphics work on some late discoveries) or etc….;

and finally skim through the internet for the rest ?

hey hope this helps this a bit !

have fun ?

Advertisement

What exactly do you want, theoretical understanding, practical coding tips, or hardcore optimization tips? I can think of a few links off the top of my head. Also keep on top of siggraph and gdc presentations, graphics programmer twitter and blogs, don't skimp on this.

Theoretical/Overview/Better understanding stuff

https://developer.nvidia.com/content/life-triangle-nvidias-logical-pipeline

https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/

https://drive.google.com/file/d/12ahbqGXNfY3V-1Gj5cvne2AH4BFWZHGD/view​​

I can't fix the link, so in the address of the browser delete everything after view. this is related to

https://veganpower.github.io/LondonGpu/​

so you can view the link here under gpu architecture.

https://therealmjp.github.io/posts/breaking-down-barriers-part-1-whats-a-barrier/​

https://drive.google.com/file/d/12ahbqGXNfY3V-1Gj5cvne2AH4BFWZHGD/view​​

I can't fix the link, so in the address of the browser delete everything after view. this is related to

https://veganpower.github.io/LondonGpu/​

Low Level info

Under ISA docs https://developer.amd.com/resources/developer-guides-manuals/

https://gpuopen.com/documentation/​

google search “amd gpu white papers” and “nvidia gpu white papers” these are very important they are about specific gpu families but at the same level as the theoretical above.

More practical stuff

https://gpuopen.com

https://developer.nvidia.com/blog/category/graphics-simulation/

https://developer.nvidia.com/blog/thinking-parallel-part-i-collision-detection-gpu/

As I said above GDC and siggraph presentations, graphics programmers' blogs and twitters.

Even more practical stuff

Learning how to use renderdoc

Learning how to use GPU profilers

Learning how to use something like https://gpuopen.com/introducing-radeon-memory-visualizer/

Also if doing pure GPGPU (general programming on the GPU i.e. general purpose gpu) look into CUDA, OpenCL, C++ AMP and others.

If you get more specific I might know a few more links.

-potential energy is easily made kinetic-

@Infinisearch

Thanks for this wealth of information!

To answer your question, I'd say all three ?. Theoretical knowledge of the GPU functioning leads to better understanding of coding and optimization tips. To give some feedback on my background, I'm an engine/tool programmer who has been switching to rendering development in the last 2 years. So I know how is the rendering pipeline but I don't know exactly how shader code is executed on the hardware.

This is what I've liked in the GPU Gems series. An overview of the inner workings of a GPU and some practical advice on coding and optimization.

While searching on the internet, I came across this excellent series about compute shaders, https://anteru.net/blog/2018/intro-to-compute-shaders/index.html.​ Since compute and graphical shaders run on the same hardware, this series contains the kind of knowledge I am looking for.

The low level links are a bit too level for me ?. Especially the ISAs which is no surprise since I am not the targeted audience. The other links looks really promising, especially the ones in the theoretical section. Please note that https://drive.google.com/file/d/12ahbqGXNfY3V-1Gj5cvne2AH4BFWZHGD/view​ is actually a dead link.
Overall I have plenty to read right now and keep me busy for the next weeks. If you remember other useful links, please share them but I have enough information right now.
Ludovic

The link in your post works for the google drive presentation. I've seen your link before… I liked what I saw.

I know you don't like the low level links, namely the ISA ones but follow the two pieces of advice:

google search “amd gpu white papers” and “nvidia gpu white papers” these are very important they are about specific gpu families but at the same level as the theoretical above.

and again: Also keep on top of siggraph and gdc presentations, graphics programmer twitter and blogs, don't skimp on this.

https://gpuopen.com/wp-content/uploads/2019/08/RDNA_Architecture_public.pdf

if you have any direct questions I might be able to answer them so ask away.

-potential energy is easily made kinetic-

@Infinisearch

Yeah the link in your post has some kind of weird utf character at the end, anyway…

Thanks for the advice, I'll dig through these white papers. The RDNA paper is really nice.

Any graphics programmer you would recommend to follow ? Inigo Quiles and Stephen Hill are two of my favourites since their blogs are quite active but there are probably others.

Thanks again

Advertisement

lmainguy said:
Yeah the link in your post has some kind of weird utf character at the end, anyway…

Try your link to anteru's blog, same thing.

lmainguy said:
Thanks for the advice, I'll dig through these white papers. The RDNA paper is really nice.

Yeah I enjoyed them and alot of the papers and tutorials and … the authors get some of there info from them.

lmainguy said:
Any graphics programmer you would recommend to follow ?

I'm not really a twitter ‘person’ but I know a few… I'll see what I can do. In the mean time here is a search term and one I came across on twitter thats a big list of blogs.

google the following: github gist cool graphics game programming blogs

https://gist.github.com/Reedbeta/dd800c6bda59c3351fbd3474acbea430#file-cool-game-programming-blogs-opml

-potential energy is easily made kinetic-

I was looking for more info on the RX6000 series that was announced yesterday and found this videos on youtube. I haven't watched them, but I figured I'd post them.

-potential energy is easily made kinetic-

Nice, they are spot-on the kind of presentations I was looking for.

I have added them to my watch list, thank you !

This topic is closed to new replies.

Advertisement