# Copyright 2023 Xiaomi Corp. (Wei Kang) # See ../../LICENSE for clarification regarding multiple authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: run-tests-cuda on: push: branches: - master paths: - '.github/workflows/run_tests_cuda.yml' - 'CMakeLists.txt' - 'cmake/**' - 'fast_rnnt/csrc/**' - 'fast_rnnt/python/**' pull_request: branches: - master paths: - '.github/workflows/run_tests_cuda.yml' - 'CMakeLists.txt' - 'cmake/**' - 'fast_rnnt/csrc/**' - 'fast_rnnt/python/**' concurrency: group: run-tests-${{ github.ref }} cancel-in-progress: true jobs: run-tests: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest] cuda: ["11.7"] torch: ["1.13.1"] torchaudio: ["1.13.0"] python-version: ["3.11"] build_type: ["Release", "Debug"] steps: # refer to https://github.com/actions/checkout - uses: actions/checkout@v2 - name: Install CUDA Toolkit ${{ matrix.cuda }} env: cuda: ${{ matrix.cuda }} run: | source ./.github/scripts/install_cuda.sh echo "CUDA_HOME=${CUDA_HOME}" >> $GITHUB_ENV echo "${CUDA_HOME}/bin" >> $GITHUB_PATH echo "LD_LIBRARY_PATH=${CUDA_HOME}/lib:${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}" >> $GITHUB_ENV shell: bash - name: Display NVCC version run: | which nvcc nvcc --version - name: Display GCC version run: | gcc --version - name: Setup Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Display Python version run: python -c "import sys; print(sys.version)" - name: Install PyTorch ${{ matrix.torch }} env: cuda: ${{ matrix.cuda }} torch: ${{ matrix.torch }} shell: bash run: | python3 -m pip install -qq --upgrade pip ./.github/scripts/install_torch.sh python3 -c "import torch; print('torch version:', torch.__version__)" - name: Install git lfs run: | sudo apt-get install -y git-lfs - name: Download cudnn 8.0 env: cuda: ${{ matrix.cuda }} run: | ./scripts/github_actions/install_cudnn.sh - name: Configure CMake shell: bash env: torch: ${{ matrix.torch }} run: | mkdir build cd build cmake -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} .. - name: ${{ matrix.build_type }} Build shell: bash run: | echo "number of cores: $(nproc)" cd build # we cannot use -j here because of limited RAM # of the VM provided by GitHub actions make VERBOSE=1 -j2 - name: Display Build Information shell: bash run: | export PYTHONPATH=$PWD/fast_rnnt/python:$PWD/build/lib:$PYTHONPATH - name: Run Tests shell: bash run: | cd build ctest --output-on-failure