Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Track VGPR/SGPR usage in addition to other performance data #14

Open
clayjohn opened this issue Aug 29, 2022 · 2 comments
Open

Track VGPR/SGPR usage in addition to other performance data #14

clayjohn opened this issue Aug 29, 2022 · 2 comments

Comments

@clayjohn
Copy link
Member

Using AMD GPU Analyzer we can now analyze our default shader code and see line-by-line resource usage including register pressure. As VGPR usage is one of the largest bottlenecks we have right now, it is something we should track and aim to reduce.

Right now the basic Godot scene fragment shader allocates 80 VGPRs and only uses 73. We should aim to reduce that number (or at least avoid needlessly increasing it).

Below are examples of the output you can get from AMD GPU analyzer which could be easily parsed to highlight changes and increases or decreases in register usage

gfx1035_livereg_frag.txt
gfx1035_livereg_vert.txt

@Calinou
Copy link
Member

Calinou commented Aug 29, 2022

Is there an automated way to use the Radeon GPU Analyzer on Linux from the command line (and ideally with a standard output format)? This would be required for it to be usable on the benchmarking server.

@clayjohn
Copy link
Member Author

Is there an automated way to use the Radeon GPU Analyzer on Linux from the command line (and ideally with a standard output format)? This would be required for it to be usable on the benchmarking server.

I haven't used it from the command line but it looks like it can be used either from GUI or from the command line and it supports Ubuntu 20.04 https://gpuopen.com/rga/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants