custos 0.7.0

A minimal OpenCL, WGPU, CUDA and host CPU array manipulation engine.
Documentation
name: GPU

on:
  push:
    branches: [ '**' ]
  pull_request:
    branches: [ "main" ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build-opencl:

    runs-on: self-hosted

    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: stable

    - name: Build (OpenCL)
      run: cargo build --verbose --no-default-features --features opencl
  
  build-cuda:

    runs-on: self-hosted

    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: stable

    - name: Build (CUDA)
      run: cargo build --verbose --no-default-features --features cuda

  build-both:

    runs-on: self-hosted

    steps:
    - uses: actions/checkout@v3
    - uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: stable

    - name: Build (CUDA)
      run: cargo build --verbose --no-default-features --features cuda,opencl
      
  test-opencl:
  
    runs-on: self-hosted
    
    steps:
    - uses: actions/checkout@v3

    - uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: stable

    - name: Run tests (OpenCL)
      run: cargo test --verbose --no-default-features --features opencl
    - name: Run tests (OpenCL, realloc)
      run: cargo test --verbose --no-default-features --features opencl,realloc
    - name: Run tests (OpenCL, opt-cache)
      run: cargo test --verbose --no-default-features --features opencl,opt-cache
  
  test-cuda:
  
    runs-on: self-hosted
    
    steps:
    - uses: actions/checkout@v3

    - uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: stable

    - name: Run tests (CUDA)
      run: cargo test --verbose --no-default-features --features cuda
    - name: Run tests (CUDA, realloc)
      run: cargo test --verbose --no-default-features --features cuda,realloc
    - name: Run tests (CUDA, opt-cache)
      run: cargo test --verbose --no-default-features --features cuda,opt-cache

  test-all:
  
    runs-on: self-hosted
    
    steps:
    - uses: actions/checkout@v3

    - uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: stable

    - name: Run tests (CUDA, OpenCL)
      run: cargo test --verbose --no-default-features --features cuda,opencl
    - name: Run tests (CUDA, OpenCL, opt-cache)
      run: cargo test --verbose --no-default-features --features cuda,opencl,opt-cache
    - name: Run tests (CUDA, OpenCL, realloc)
      run: cargo test --verbose --no-default-features --features cuda,opencl,realloc