Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support build cuda rocm #155

Merged
merged 13 commits into from Dec 2, 2023
28 changes: 27 additions & 1 deletion .github/workflows/build.yml
Expand Up @@ -183,6 +183,10 @@ jobs:
defines: '-DRWKV_AVX2=OFF'
- build: 'avx512'
defines: '-DRWKV_AVX512=ON'
- build: 'cuda12'
defines: '-DRWKV_CUBLAS=ON'
- build: 'rocm5.5'
defines: '-G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DRWKV_HIPBLAS=ON -DCMAKE_BUILD_TYPE=Release -DAMDGPU_TARGETS="gfx1100;gfx1102;gfx1030"'

steps:
- name: Clone
Expand All @@ -191,6 +195,28 @@ jobs:
with:
submodules: 'recursive'

- name: Install cuda-toolkit
id: cuda_toolkit
if: ${{ matrix.build == 'cuda12' }}
uses: Jimver/cuda-toolkit@v0.2.11
with:
cuda: '12.2.0'
method: 'local'

- name: Install rocm-toolkit
id: rocm-toolkit
if: ${{ matrix.build == 'rocm5.5' }}
uses: Cyberhan123/rocm-toolkit@v0.1.0
with:
rocm: '5.5.0'

- name: Install Ninja
id: install-ninja
if: ${{ matrix.build == 'rocm5.5' }}
uses: urkle/action-get-ninja@v1
with:
version: 1.11.1

- name: Build
id: cmake_build
run: |
Expand All @@ -215,7 +241,7 @@ jobs:
- name: Test
id: cmake_test
# Test AVX-512 only when possible
if: ${{ matrix.build != 'avx512' || env.HAS_AVX512F == '1' }}
if: ${{ (matrix.build != 'avx512' || env.HAS_AVX512F == '1') && matrix.build != 'cuda12' && matrix.build != 'rocm5.5'}}
run: |
cd build
ctest -C Release --verbose
Expand Down