Skip to content

Rewrite the Go code of the Whisper decoder with C++ #306

Rewrite the Go code of the Whisper decoder with C++

Rewrite the Go code of the Whisper decoder with C++ #306

Workflow file for this run

name: Windows
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
env:
BUILD_TYPE: Release
jobs:
build:
runs-on: windows-2022
steps:
- uses: Jimver/[email protected]
id: cuda-toolkit
with:
cuda: '11.8.0'
method: 'network'
sub-packages: '["nvcc", "cudart", "cublas", "cublas_dev", "thrust", "visual_studio_integration"]'
- name: Install Go
uses: actions/[email protected]
with:
go-version: '1.22.5'
- run: go version
- uses: actions/checkout@v3
- name: Install wget
run: choco install wget --no-progress
- name: Build ffmpeg
run: cd third_party && bash install_ffmpeg.sh
- name: Install cutlass
run: cd third_party && bash install_cutlass.sh
- name: Build ffmpeg plugin for Windows
run: g++ -shared -o llmpluginffmpeg.dll
-fno-exceptions
-fno-rtti
-Isrc
-Ithird_party/ffmpeg
-DLIBLLM_EXPORTS
-O2
src/libllm/read_audio_ffmpeg.cc
-Lthird_party/ffmpeg/libavformat
-Lthird_party/ffmpeg/libavcodec
-Lthird_party/ffmpeg/libavfilter
-Lthird_party/ffmpeg/libavutil
-Lthird_party/ffmpeg/libswresample
-lavformat
-lavcodec
-lavfilter
-lavutil
-lswresample
-lbcrypt
-static
shell: bash
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
-DWITH_CUDA=ON
-DWITH_CUTLASS=ON
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Copy dependencies
run: |
copy llmpluginffmpeg.dll ${{github.workspace}}\build
copy c:\windows\system32\vcomp140.dll ${{github.workspace}}\build
copy ${{github.workspace}}\build\${{env.BUILD_TYPE}}\llm.exe ${{github.workspace}}\build
copy ${{github.workspace}}\build\${{env.BUILD_TYPE}}\llm.dll ${{github.workspace}}\build
copy ${{github.workspace}}\build\${{env.BUILD_TYPE}}\llmplugincublas.dll ${{github.workspace}}\build
- uses: actions/upload-artifact@v4
with:
name: windows-build
path: ${{github.workspace}}/build
- name: Test
run: ${{github.workspace}}\build\${{env.BUILD_TYPE}}\unittest.exe
release:
permissions:
contents: write # for softprops/action-gh-release to create a release
needs: [build]
runs-on: ubuntu-latest
steps:
- name: download
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Create release package
run: cd artifacts/windows-build/ && zip release-windows-x64-cuda.zip
llm.exe
llm.dll
llmplugincublas.dll
llmpluginffmpeg.dll
vcomp140.dll
- uses: actions/upload-artifact@v4
with:
name: windows-package
path: artifacts/windows-build/release-windows-x64-cuda.zip
- name: create-release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
files: |
artifacts/windows-build/release-windows-x64-cuda.zip