diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 04208ee..19dab1e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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 @@ -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: | @@ -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