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]

Reply via email to