You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Match synchronizeThroughputPeersKernel in the dispatch profiler filter. Reused preparation launches this kernel before every throughput dispatch (src/ext/ep/throughput.cc:229–232), but its name contains neither dispatch nor synchronizepeers. Kineto therefore omits the required peer synchronization from dispatch and total kernel timings, overstating performance. Include synchronizethroughputpeers in the matching substrings.
[P2] Include the throughput synchronization kernel in dispatch timing. This benchmark reuses preparation, so each dispatch launches synchronizeThroughputPeersKernel before throughputDispatchKernel (src/ext/ep/throughput.cc:230–239). Neither current substring matches the synchronization kernel, so Kineto omits this required peer barrier from dispatch and total communication latency. Match its actual name as well.
[P2] Bound the synthetic routing weights so static FP8 rank-local partials remain representable. These unnormalized weights can make a weighted partial overflow even when the input passes the scale check. For example, four unit-weight routes to one rank turn a value of -128 into -512 at scale 1, outside E4M3's finite range. _stage_expert_output then produces NaNs and --validate fails before timing. Normalize each token's nonnegative weights, or choose the scale using the weighted partials as well as the inputs.
Reject scales with nonfinite FP32 reciprocals
src/ext/ep/latency.cc:169
[P2] Reject scales whose FP32 reciprocal is nonfinite. A positive finite scale such as 1e-39f passes this check, but both rank-major combine kernels compute 1.0f / quantScale, producing infinity. Even a zero FP8 expert value then produces NaN during accumulation when its contribution is processed. Require a finite reciprocal before launching and add a regression case for this scale.
Reject scales whose FP32 reciprocal overflows. A finite positive scale such as 2^-130 passes this check, but both static-FP8 combine kernels compute 1.0f / quantScale, producing infinity. Even an all-zero expert row then produces NaNs through fma(0, infinity, accumulator). Require a finite reciprocal before launching, and add a regression case for this scale.
[P2] Reject scales whose FP32 reciprocal is not finite. A scale such as 1e-40f passes this validation, but both rank-major static-FP8 combine kernels compute 1.0f / workload.quantScale_, which overflows to infinity. Even an all-zero expert row then produces NaNs through 0 * infinity. Check that the FP32 reciprocal is finite before launching.
Review effort: Balanced
This branch has not been deployed
No deployments
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
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.
No description provided.