MakotoUwu commented on PR #19771: URL: https://github.com/apache/tvm/pull/19771#issuecomment-4708648401
You are right that `maxStorageBufferBindingSize` was not the right motivation. I updated the code comment and PR description to avoid that claim. The concrete use case is a very large tensor-cache record that is valid for the target device but fragile as one JS/Wasm staging call. The Gemma 4 E2B artifact has three records above 128 MiB: - `model.embed_tokens.q_weight`: 192 MiB, shape `[262144, 192]` - `model.embed_tokens_per_layer.q_scale`: 140 MiB, shape `[262144, 280]` - `model.embed_tokens_per_layer.q_weight`: 1120 MiB, shape `[262144, 1120]` In the local Chrome/WebGPU validation lane, the failure was deterministic on the 1120 MiB record. Instrumentation reached `arrayDecodeStorage:start` and aborted before `arrayDecodeStorage:done`, before GPU copy. So the chunking is intended to avoid one multi-hundred-MiB JS-to-wasm byte-array decode/copy call, not to work around a WebGPU allocation/binding limit. Smaller records still use the original full-record path. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
