Skip to content

[AMD] Add Support to test and generate CPU and Vulkan builds for Linux and Windows#3691

Open
iswaryaalex wants to merge 29 commits intoggml-org:masterfrom
lemonade-sdk:iswarya/vulkan-support
Open

[AMD] Add Support to test and generate CPU and Vulkan builds for Linux and Windows#3691
iswaryaalex wants to merge 29 commits intoggml-org:masterfrom
lemonade-sdk:iswarya/vulkan-support

Conversation

@iswaryaalex
Copy link

Summary

This PR adds CI jobs that build and publish Vulkan and CPU whisper binaries for Linux and Windows, and updates docs/CI for Vulkan. It also fixes workflow if condition parsing so job triggers evaluate correctly.

Key changes

1. New workflow jobs (.github/workflows/build.yml)

  • linux-x64-cpu – Linux x64 CPU-only build. Builds with CMake, packages binaries and .so files, uploads whisper-bin-linux-x64-cpu.zip.
  • linux-x64-vulkan – Linux x64 Vulkan build. Installs Vulkan deps (libvulkan-dev, vulkan-tools, glslc/shaderc), configures with -DGGML_VULKAN=ON, validates Vulkan artifacts, packages and uploads whisper-bin-linux-x64-vulkan.zip.
  • windows-vulkan – Windows x64 Vulkan build. Uses Vulkan SDK (via winget), SDL2, and MSBuild; builds with -DGGML_VULKAN=ON and -DWHISPER_SDL2=ON; copies SDL2.dll and uploads whisper-bin-x64-vulkan.zip.

2. Release job

  • Release job now depends on linux-x64-cpu, linux-x64-vulkan, and windows-vulkan, so these artifacts are included when creating a release.

3. CI documentation and script

  • ci/README.md – Added a “with Vulkan” example: GG_BUILD_VULKAN=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt.
  • ci/run.sh – Added Vulkan to the sample usage comments and included “VULKAN” in the bench config when system_info contains VULKAN = 1.

Artifacts produced

Job Artifact
linux-x64-cpu whisper-bin-linux-x64-cpu.zip
linux-x64-vulkan whisper-bin-linux-x64-vulkan.zip
windows-vulkan whisper-bin-x64-vulkan.zip

Files changed

  • .github/workflows/build.yml – New jobs, release deps, and condition fixes.
  • ci/README.md – Vulkan run example.
  • ci/run.sh – Vulkan usage comment and Vulkan in bench config.

Kumawat, Sachin and others added 28 commits January 13, 2026 14:16
* Added VitisAI encoder module placeholder files

* VitisAI build integration

* VitisAI encoder offload functional

* Clean up vitisai integration

* Add c++17 requirement for Windows

* Enabled preemption for windows runs

* Add model cache override option

* Remove vitisai premature log message

* Add rai support through file mapping

* Fixed flatbuffer loading

* Fixed Windows file mapping issue

* Update FlexmlRT resolution

* Use Flexmlrt wheel pkg to build VitisAI plugin

* Clean up

* Remove prints

* Change flexmlrt target from Shared to Interface

* Add c++17 requirement for Windows

* Enabled preemption for windows runs

* Add rai support through file mapping

* Fixed flatbuffer loading

* Fixed Windows file mapping issue

* Update FlexmlRT resolution

* Use Flexmlrt wheel pkg to build VitisAI plugin

* Clean up

* Remove prints

* Change flexmlrt target from Shared to Interface

* Cleanup FlexmlRT integration

* format fix

* Adding AMD Licenses

* Update CMakeLists.txt

Co-authored-by: Kumawat, Sachin <sachin.kumawat@amd.com>

* Update src/CMakeLists.txt

Co-authored-by: Kumawat, Sachin <sachin.kumawat@amd.com>

* Update whisper.cpp

* Added VitisAI encoder readme section

* Remove license headers from common files to whisper.cpp

---------

Co-authored-by: Sachin Kumawat <sachink@amd.com>
Co-authored-by: Jeff Lin <jeffylin@xilinx.com>
Co-authored-by: Lin <jefflin@amd.com>
Co-authored-by: Lin, Jeff (DCG-ENG) <jeff.lin@amd.com>
Co-authored-by: Iswarya Alex <iswaryaalex96@gmail.com>
Co-authored-by: Alex, Iswarya <Iswarya.Alex@amd.com>
Add support for NPU/iGPU backend builds
@iswaryaalex iswaryaalex marked this pull request as draft March 5, 2026 23:52
@iswaryaalex iswaryaalex marked this pull request as ready for review March 6, 2026 00:37
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