Skip to content

fix(whisper): stop the Linux XRT engine printing an aiebu banner - #812

Merged
tawei-amd merged 1 commit into
mainfrom
fix/whisper-engine-aiebu
Oct 18, 2026
Merged

tawei-amd merged 1 commit into
mainfrom
fix/whisper-engine-aiebu

Conversation

@tawei-amd

Copy link
Copy Markdown
Collaborator

Problem

The Linux XRT libwhisper_npu.so vendored in #794 (f4f9341f) prints an aiebu debug banner to stdout on every kernel setup:

Header version 0.1
Device Generation: 4
Cols, Rows, NumMemRows : (8, 6, 1)
TransactionSize: ...
NumOps: ...
UID: ...

That's about 1,400 blocks for a 110 s clip. In the Linux ASR test it filled about 4 MB of server log. The other platforms' logs are 75 KB. The HRX .so, the Windows DLLs and the engine before #794 don't print it.

The build host had XRT under /opt/xilinx/xrt/lib, and the engine's link line searched that directory before FastFlowLM_IRON's own libaiebu.a. So -laiebu picked up that XRT's aiebu, which has the banner and doesn't match the aiebu headers the engine compiles against.

Change

The Whisper engine is rebuilt for Linux and Windows, HRX and XRT. The five Whisper xclbins are rebuilt too. Everything comes from FastFlowLM_IRON 315b9cab1 (internal PR #66, CI run 39151964873), which links the repo's libaiebu.a by path.

  • Linux XRT .so: the only real change. It has no banner, and its aiebu exports and toolchain (GCC 13.3) now match the other vendored engines.
  • Other binaries: they differ only by rebuild noise. The engine and kernel sources are the same as fix(whisper): make the ASR decode loop behave like Whisper #794's, and the Windows import libraries are byte-identical.
  • Model weights: unchanged.

Validation

  • strings src/lib/xrt/libwhisper_npu.so | grep -c 'Header version' returns 0 (it was 1).
  • FastFlowLM_IRON's Whisper Check ran against FastFlowLM main 5a8e0b98, which includes fix(whisper): make the ASR decode loop behave like Whisper #794, on Linux XRT and HRX:
    • the ASR test passed, including the required prompt checks;
    • pooled WER was 7.44%, identical to main;
    • the prompt probe passed.

🤖 Generated with Claude Code

The Linux XRT libwhisper_npu.so vendored in f4f9341 printed
"Header version 0.1 / Device Generation: 4 / Cols, Rows, NumMemRows ... /
TransactionSize / NumOps / UID:" to stdout on every kernel setup: about
1,400 blocks for a 110 s clip, 4 MB of server log in the Linux ASR test.
The CI host that built it had XRT under /opt/xilinx/xrt/lib, which the
engine's link line searched before FastFlowLM_IRON's own libaiebu.a, so it
linked that XRT's aiebu.

Rebuilt the Whisper engine (Linux and Windows, HRX and XRT) and the five
Whisper xclbins from FastFlowLM_IRON 315b9cab1 (PR #66, IRON CI run
39151964873), which links the repo's libaiebu.a by path. Only the Linux
XRT library changes in substance: no banner, and the same aiebu and
toolchain as the engines before f4f9341. The engine and kernel sources
are otherwise those of f4f9341; the other binaries differ only by
rebuild (the Windows import libraries are identical). Model weights are
unchanged.

Co-Authored-By: Claude <[email protected]>
@tawei-amd
tawei-amd merged commit 74e47a8 into main Oct 18, 2026
37 checks passed
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.

1 participant