Skip to content

Merge pull request #30 from andri-jpg/main #30

Merge pull request #30 from andri-jpg/main

Merge pull request #30 from andri-jpg/main #30

Workflow file for this run

name: CI-CuBLAS
env:
PYPROJECT_NAME: "llm-rs-cuda"
on:
push:
branches:
- main
- master
tags:
- '*'
pull_request:
workflow_dispatch:
permissions:
contents: write
jobs:
linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target: [x86_64]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install build dependencies
run: pip install -r ./build_scripts/requirements.txt
- name: Set package name
run: python ./build_scripts/pyproject_patcher.py
- name: Install libssl-dev
run: sudo apt-get install libssl-dev
- uses: Jimver/cuda-toolkit@v0.2.11
name: Install CUDA toolkit on Linux
id: cuda-toolkit-linux
with:
cuda: "12.2.0"
method: "network"
#See e.g. https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/
non-cuda-sub-packages: '["libcublas","libcublas-dev"]'
sub-packages: '["nvcc","compiler","libraries","libraries-dev","cudart","cudart-dev"]'
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter --features cublas
sccache: 'true'
container: off
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist
windows:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
target: [x64]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
architecture: ${{ matrix.target }}
- name: Install build dependencies
run: pip install -r ./build_scripts/requirements.txt
- name: Set package name
run: python ./build_scripts/pyproject_patcher.py
- uses: Jimver/cuda-toolkit@v0.2.11
name: Install CUDA toolkit on Windows
id: cuda-toolkit-windows
with:
cuda: "12.2.0"
#See https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#install-the-cuda-software
method: "local"
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter --features cublas
sccache: 'true'
- name: Include CUDA DLLs
run: python ./build_scripts/repair_windows_wheels.py "./dist"
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: wheelhouse
# sdist:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-python@v4
# with:
# python-version: '3.10'
# - name: Install build dependencies
# run: pip install -r ./build_scripts/requirements.txt
# - name: Set package name
# run: python ./build_scripts/pyproject_patcher.py
# - name: Build sdist
# uses: PyO3/maturin-action@v1
# with:
# command: sdist
# args: --out dist
# - name: Upload sdist
# uses: actions/upload-artifact@v3
# with:
# name: wheels
# path: dist
release:
name: Release
runs-on: ubuntu-latest
if: "startsWith(github.ref, 'refs/tags/')"
needs: [linux, windows]
steps:
- uses: actions/download-artifact@v3
with:
name: wheels
path: wheels
- name: List wheel files
run: ls -l wheels
- name: Upload wheels
uses: softprops/action-gh-release@v1
with:
files: |
wheels/*.whl