By using this site, you agree to our Privacy Policy and our Terms of Use. Close
Bofferbrauer2 said:

Yes and No.

Each CU has his own scheduler (called the CU scheduler), that's true. But GCN has also another scheduler for the draw and command queues, added with GCN3 because the CU scheduler was so inefficient. You may know this under Async compute, as that's how AMD branded that second scheduler. However, it can't handle too many tasks at once, thus getting very inefficient with higher CU counts.

Add to this the fact that the GPU driver must handle it's own scheduler (Number 3), which is handled by the CPU, and you can probably see the problems AMD has with their GCN schedulers.

Long story short: CU scheduler dispatches the commands (wavefronts) between the shaders, Async compute scheduler is supposed fixing any holes in those schedule pipelines, and the driver scheduler sets the order of the commands in each shader. Confusingly complicated, isn't it?

Not true. As I said, the front-end can issue wavefronts at a far higher rate than the CUs can process them. That is NOT an issue and that applies for both the graphics pipeline and the async compute pipes. Believe me, I KNOW, I'm not guessing.