Skip to content

[Refactor] Added Command Line Tool, Hardware-independent unittest, unified arithmetic operations, updated workflow, et al. #17

[Refactor] Added Command Line Tool, Hardware-independent unittest, unified arithmetic operations, updated workflow, et al.

[Refactor] Added Command Line Tool, Hardware-independent unittest, unified arithmetic operations, updated workflow, et al. #17

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
- develop
jobs:
# TODO: Metal/CUDA Runtime
UnitTest-CPUTensor:
# TODO: Metal/CUDA Runtime
name: (${{ matrix.os }} on ${{ matrix.lisp }}) | Unittest-CPUTensor
runs-on: ${{ matrix.os }}
strategy:
matrix:
lisp: [sbcl-bin/2.3.9]
os: [ubuntu-latest]
target:
- normal
archcpu:
- AVX2
steps:
- uses: actions/checkout@v1
- name: Setting up environments
env:
LISP: ${{ matrix.lisp }}
run: |
curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh
- name: Update $PATH
run: |
echo $PATH
echo "PATH=$HOME/bin:$PATH" >> $GITHUB_ENV
- name: Check $PATH
run: echo $PATH
- name: Installing OpenBLAS
run: |
sudo apt install libblas-dev
- name: Installing Extensions
run: |
git submodule update --init --recursive
make build_sleef
make build_simd_extension
- name: Unittest (CPU+Lisp)
run: |
ros config set dynamic-space-size 4gb
./roswell/waffe2.ros test -b CPUTensor -b LispTensor
UnitTest-LispTensor:
name: (${{ matrix.os }} on ${{ matrix.lisp }}) | Unittest-LispTensor
runs-on: ${{ matrix.os }}
strategy:
matrix:
lisp: [sbcl-bin/2.3.9]
os: [ubuntu-latest]
target:
- normal
steps:
- uses: actions/checkout@v1
- name: Setting up environments
env:
LISP: ${{ matrix.lisp }}
run: |
curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh
- name: Update $PATH
run: |
echo $PATH
echo "PATH=$HOME/bin:$PATH" >> $GITHUB_ENV
- name: Check $PATH
run: echo $PATH
- name: Unittest (Lisp+CPU)
run: |
ros config set dynamic-space-size 4gb
./roswell/waffe2.ros test -b LispTensor -b CPUTensor
Test-Classification-CPU:
name: (${{ matrix.os }} on ${{ matrix.lisp }}) | Test-Classification-CPU
runs-on: ${{ matrix.os }}
strategy:
matrix:
lisp: [sbcl-bin/2.3.9]
os: [ubuntu-latest]
target:
- normal
archcpu:
- AVX2
steps:
- uses: actions/checkout@v1
- name: Setting up environments
env:
LISP: ${{ matrix.lisp }}
run: |
curl -L https://raw.githubusercontent.com/roswell/roswell/master/scripts/install-for-ci.sh | sh
- name: Update $PATH
run: |
echo $PATH
echo "PATH=$HOME/bin:$PATH" >> $GITHUB_ENV
- name: Check $PATH
run: echo $PATH
- name: Installing OpenBLAS
run: |
sudo apt install libblas-dev
- name: Set up Python
id: set_up_python_python_ci
uses: actions/setup-python@v4
with:
python-version: "3.8"
- name: Downloading assets
run: |
pip install torch torchvision numpy
cd ./examples/mnist
python train_data.py
cd ../../
- name: Installing Extensions
run: |
git submodule update --init --recursive
make build_sleef
make build_simd_extension
- name: Training (CPUTensor)
run: |
ros config set dynamic-space-size 4gb
./roswell/waffe2.ros demo --example mnist -b CPUTensor -b LispTensor
- name: Accuracy Check (> 0.90)
run: |
if grep -qE '^(0\.[9-9][0-9]*)|^(1\.0)$' report.txt; then
echo "At least the accuracy is 0.90 or higher"
else
echo "Insufficient accuracy." >&2
exit 1