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

When max_compute_invocations_per_workgroup is exceeded at runtime, shader silently fails #7429

Open
vadixidav opened this issue Mar 26, 2025 · 0 comments

Comments

@vadixidav
Copy link

Description
I have a device with a max_compute_invocations_per_workgroup of 1024. See the following output when I try to set it to 2048:

called `Result::unwrap()` on an `Err` value: RequestDeviceError { inner: Core(LimitsExceeded(FailedLimit { name: "max_compute_invocations_per_workgroup", requested: 2048, allowed: 1024 })) }

When I invoked a compute pipeline that used 1024 invocations per workgroup (size x=32, y=1, z=32), it worked perfectly. However, when I invoked a compute pipeline that used 2048 invocations per workgroup (size x=32, y=2, z=32), it "worked", but the shader did not write any data, even if data was written at the beginning of the entry point. There was no error, even in debug mode. In fact, there was not even an error in the trace logs. I will attach the logs in extra materials.

Repro steps
I don't have one of these for you off hand, but it should be easy to reproduce at least on the same hardware as me. See below for the hardware.

Expected vs observed behavior
I expect that an error would be issued if the invocations per workgroup of a shader pipeline exceeds limits for the device. The outcome is that the shader executed but silently did nothing.

Extra materials
This is a full log in trace mode.
log.txt

Platform
Computer: M1 Max MacBook Pro 14"
OS: MacOS 15.3.2
Rust: stable-aarch64-apple-darwin rustc 1.85.1 (4eb161250 2025-03-15)

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

No branches or pull requests

1 participant