Skip to content

[CPU][S390x] Vectorise topk topp for s390x - #1

Open
R3hankhan123 wants to merge 4 commits into
micyan01:arm-neon-topk-toppfrom
R3hankhan123:pr-62440-s390x-topk
Open

R3hankhan123 wants to merge 4 commits into
micyan01:arm-neon-topk-toppfrom
R3hankhan123:pr-62440-s390x-topk

Conversation

@R3hankhan123

Copy link
Copy Markdown

Overview

Claims

Validation

Details


Pull Request Checklist
  • I used vLLM's /pr-checklist skill. (Mandatory for agents, optional for humans).

  • AI assistance was used during the creation of this PR.

  • Design Fit: Minimizes impact on core components, reuses existing functionality, and justifies added complexity.

  • Testing and Validation: Validates the change and ensures any added tests are meaningful and reliable, with CI coverage or documented CI resource constraints and validation performed outside CI.

  • Code Quality and Style: Keeps code and comments clear and concise, and updates relevant documentation and examples.

  • Pull Request Contents: Includes a brief summary and relevant links, supports claims with evidence, explains root causes and implementation trade-offs, and follows the contributing guide.

BEFORE SUBMITTING, PLEASE READ https://docs.vllm.ai/en/latest/contributing (anything written below this line will be removed by GitHub Actions)

tianmu-li and others added 3 commits October 23, 2026 08:08
)

(cherry picked from commit 9ffd571)
Signed-off-by: Tianmu Li <tianmu.li@intel.com>
(cherry picked from commit 267cbdf)
Signed-off-by: Fadi Arafeh <fadi.arafeh@arm.com>
Remove the AVX512 and AVX2 sampling paths introduced by the base implementation while retaining the AArch64 implementations and scalar fallbacks.

Remove the added AVX2 fast-exp macro and -mfma flag, apply repository formatting, and run the CPU top-k/top-p tests in the Arm CI kernel shard.

Assisted-by: OpenAI

Signed-off-by: Michael Yang <michael.yang@arm.com>
@R3hankhan123 R3hankhan123 changed the title [CPU][S390x] Vectorise topk topp fir s390x [CPU][S390x] Vectorise topk topp for s390x Nov 2, 2026
Signed-off-by: Rehan Khan <Rehan.Khan7@ibm.com>
R3hankhan123 added a commit to R3hankhan123/spyre-inference that referenced this pull request Nov 3, 2026
…d DFlash

Split speculative decoding into a shared verification layer and per-method
plug-ins, so each method stops adding branches to the platform and runner.

- spec_decode/base.py: SpyreSpecMethod, whose hooks default to upstream's
  behaviour; registry.py resolves the config to a method and rejects any
  other with the supported list.
- Methods: n-gram and suffix (model-free), Gemma-4 MTP (assistant
  checkpoint reading the target's KV cache) and DFlash/XPress, moved behind
  the hooks at its existing call points.
- Shared verification (from torch-spyre#1446): verify compile sizes and query buckets,
  scheduler draft padding, and the batched decode kernel at the verify
  width. A drafter that attends through the target's builders (MTP) also
  records the kernel at its own width.
- Rejection sampling on the native C++ kernels; recovered tokens are drawn
  with fused_gumbel_argmax over log(residual).
- Gumbel noise: vLLM's counter-based draw from csrc/cpu/sampling/common.h,
  vendored as csrc/cpu/sampling_noise.hpp and keyed on (seed, position,
  token), inside Spyre's exactly pruned argmax loop.
- Top-k / top-p: vLLM's CPU kernels (micyan01/vllm#1) vendored as
  csrc/cpu/topk_topp_sampler.cpp, without the AArch64 paths, with an AVX2
  x86 path, and keeping ties at the k-th value as vLLM's PyTorch top-k does.

Co-authored-by: David Holtz <56723830+dmholtz@users.noreply.github.com>
Signed-off-by: Rehan Khan <Rehan.Khan7@ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants