Repository navigation
Conversation
ale18V
force-pushed
the
research/issue-575-webgpu
branch
from
October 2, 2026 16:42
d42fa17 to
e16c449
Compare
ale18V
force-pushed
the
research/issue-575-webgpu
branch
from
October 2, 2026 18:48
e16c449 to
31f801d
Compare
ale18V
force-pushed
the
research/issue-575-webgpu
branch
from
October 3, 2026 11:06
31f801d to
e6ca6e2
Compare
ale18V
added this pull request to stack #1245
October 3, 2026 11:14
ale18V
force-pushed
the
research/issue-575-webgpu
branch
from
October 5, 2026 16:05
caa6adf to
c9c4e0e
Compare
ale18V
force-pushed
the
research/issue-575-webgpu
branch
from
October 5, 2026 16:21
c9c4e0e to
991f3c4
Compare
…report - Install @tensorflow/[email protected] in webapp - Configure opt-in WebGPU selection via query param with WebGL fallback in main.ts - Enable hardware WebGPU/Vulkan flags in Cypress browser launch options - Support multi-peer federated and decentralized test servers for collaborative runs with 3+ participants - Add E2E tests for backend selection, local Titanic on WebGPU, federated Titanic with 3 peers on WebGPU, and decentralized MNIST with 3 peers on WebGPU - Document full training runs, convergence metrics, and cross-backend stability in docs/WEBGPU_FULL_RUNS.md
…ax shape bug - Add 3-participant federated Shakespeare test harness (webapp/run_federated_experiment.ts) - Record training loss curves and aggregation results in federated_shakespeare_webgpu_report.json - Document root cause of GPT inference shape discrepancy: tfjs-backend-webgpu argMax on 1D tensor yields rank-1 shape [1] instead of rank-0 scalar [] - Update docs/WEBGPU_FULL_RUNS.md with Shakespeare federated training and text generation findings
… federated rounds
…t 8-round federated run
…ecentralized runs
Collaborator
|
On my MacBook Air with M2 chip:
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
WebGPU is feasible for DISCO and ready for opt-in support across Local, Federated, and Decentralized topologies (Closes #575). This builds on top of the merged Tiny Shakespeare task (#1244).
@tensorflow/[email protected]towebapp. WebGPU is available as an opt-in via?backend=webgpuwith automated fallback to WebGL on failure.argMaxRank Mismatch: The GPT prediction shape mismatch previously hypothesized to be linked to closed upstream issue WebGPU: TransposeProgram WGSL shader fails with type mismatch on Chrome 141+ (Tint IR rewrite) tensorflow/tfjs#8638 was actually caused by TFJS's WebGPU kernelArgMinMaxProgram(argminmax_webgpu.ts:30), which forces scalar reduction outputs from[]to[1], causingprobs.argMax()on a 1D vector to return rank-1 rather than a rank-0 scalar. Fixed in DISCO'sGPT.#predictSingle()using.asScalar().tf.multinomialWGSL Shader Bug: For single-token sampling (batch=1, samples=1), WebGPU'sMultinomialProgramWGSL shader evaluates UV coordinatescoords / outShapeas(0.0, 0.0). The shader's PRNG function evaluates to0.0unconditionally, causing sampling to always collapse to token index 0 (top-1 mode token\n). Fixed in DISCO by implementing CPU-assisted top-$k$ sampling.tensorflow/tfjs; both are isolated and ready to be reported upstream with reproduction testcases.)?backend=webgpu), as implemented.The tested Linux setup used these Chrome GPU flags:
Technical documentation
Comprehensive benchmark timings, multi-peer convergence logs, and WebGPU kernel analyses are documented in:
docs/WEBGPU_FULL_RUNS.mddocs/WEBGPU_RESEARCH.md