Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1 @@
benchmarks/reference/measurements.json filter=lfs diff=lfs merge=lfs -text
benchmark/reference/measurements.json filter=lfs diff=lfs merge=lfs -text
45 changes: 45 additions & 0 deletions .github/workflows/benchmark-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Benchmark tests

on:
push:
branches: [main]
paths: &benchmark-test-paths
- '.github/workflows/benchmark-test.yml'
- 'benchmark/**'
- 'website/_ext/benchmark_report.py'
- 'pixi.lock'
- 'pixi.toml'
- 'pyproject.toml'
- 'skala/src/**'
pull_request:
branches: [main]
paths: *benchmark-test-paths
workflow_dispatch:

permissions:
contents: read

jobs:
test:
runs-on: ubuntu-latest
env:
OMP_NUM_THREADS: 4
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
lfs: true

- name: Print CPU diagnostics
uses: ./.github/actions/cpu-diagnostics

- name: Setup Pixi
uses: prefix-dev/setup-pixi@f00437f565399d418b0acc85936d12c1fb668347 # v0.10.1
with:
pixi-version: v0.75.0
environments: default
activate-environment: true
locked: true
cache: false

- name: Run benchmark unit tests
run: pytest -v benchmark/tests/
8 changes: 4 additions & 4 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,18 +40,18 @@ jobs:

- name: Build documentation
run: |
sphinx-build -b html docs docs/_build/html
touch docs/_build/html/.nojekyll
sphinx-build -b html website website/_build/html
touch website/_build/html/.nojekyll

- name: Check external links
run: >-
sphinx-build -D nb_execution_mode=off -b linkcheck
docs docs/_build/linkcheck
website website/_build/linkcheck

- name: Upload Pages artifact
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
with:
path: docs/_build/html
path: website/_build/html

deploy:
needs: build
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ on:
branches: [main]
paths: &gauxc-paths
- '.github/workflows/examples.yml'
- 'examples/c/gauxc_integration/**'
- 'examples/cpp/gauxc_integration/**'
- 'examples/fortran/gauxc_integration/**'
- 'gauxc/**'
- 'pixi.lock'
- 'pixi.toml'
pull_request:
Expand Down Expand Up @@ -141,7 +139,7 @@ jobs:
GAUXC_ENABLE_MPI: ${{ matrix.toolchain == 'mpi' && 'ON' || 'OFF' }}
GAUXC_ENABLE_OPENMP: ${{ matrix.toolchain == 'openmp' && 'ON' || 'OFF' }}
run: |
cmake -B ../build_example -S examples/${{ matrix.example }}/gauxc_integration -G Ninja \
cmake -B ../build_example -S gauxc/examples/${{ matrix.example }}/gauxc_integration -G Ninja \
-DSkala_GauXC_ENABLE_OPENMP="$GAUXC_ENABLE_OPENMP" \
-DSkala_GauXC_ENABLE_MPI="$GAUXC_ENABLE_MPI" \
-DSkala_GauXC_ENABLE_CUDA=OFF \
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/gauxc-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: "GauXC tests"

on:
push:
branches: [main]
paths: &gauxc-test-paths
- '.github/workflows/gauxc-test.yml'
- 'gauxc/**'
- 'pixi.lock'
- 'pixi.toml'
- 'pyproject.toml'
pull_request:
branches: [main]
paths: *gauxc-test-paths
workflow_dispatch:

permissions:
contents: read

jobs:
test:
runs-on: ubuntu-latest
env:
OMP_NUM_THREADS: 4
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: Print CPU diagnostics
uses: ./.github/actions/cpu-diagnostics

- name: Setup Pixi
uses: prefix-dev/setup-pixi@f00437f565399d418b0acc85936d12c1fb668347 # v0.10.1
with:
pixi-version: v0.75.0
environments: default
activate-environment: true
locked: true
cache: false

- name: Run GauXC unit tests
run: pytest -v gauxc/tests/
29 changes: 29 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Lint

on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: Setup Pixi
uses: prefix-dev/setup-pixi@f00437f565399d418b0acc85936d12c1fb668347 # v0.10.1
with:
pixi-version: v0.75.0
environments: lint
activate-environment: true
locked: true
cache: false

- name: Run pre-commit hooks
run: pre-commit run --all-files
15 changes: 7 additions & 8 deletions .github/workflows/model-benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,10 @@ on:
- 'pixi.lock'
- 'pixi.toml'
- 'pyproject.toml'
- 'src/skala/__init__.py'
- 'src/skala/features.py'
- 'src/skala/functional/**'
- 'tests/test_traced_model_comparison.py'
- 'tools/verify_gpu.py'
- 'model/**'
- 'skala/src/skala/__init__.py'
- 'skala/src/skala/features.py'
- 'skala/src/skala/functional/**'
pull_request:
branches: [main]
paths: *model-benchmark-paths
Expand Down Expand Up @@ -49,11 +48,11 @@ jobs:
- name: Run CPU model benchmarks
run: >-
pytest -v -m model_benchmark -k cpu
tests/test_traced_model_comparison.py
model/tests/test_traced_model_comparison.py

gpu:
name: GPU model benchmark
runs-on: microsoft-skala-gpu-pool
runs-on: microsoft-skala-small-gpu-pool
env:
OMP_NUM_THREADS: 4
MKL_NUM_THREADS: 4
Expand All @@ -80,4 +79,4 @@ jobs:
- name: Run GPU model benchmarks
run: >-
pytest -v -m model_benchmark -k cuda
tests/test_traced_model_comparison.py
model/tests/test_traced_model_comparison.py
14 changes: 7 additions & 7 deletions .github/workflows/model-examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@ on:
branches: [main]
paths: &model-example-paths
- '.github/workflows/model-examples.yml'
- 'examples/cpp/cpp_integration/**'
- 'examples/fortran/ftorch_integration/**'
- 'model/examples/**'
- 'model/src/**'
- 'pixi.lock'
- 'pixi.toml'
- 'pyproject.toml'
- 'src/skala/**'
- 'skala/src/skala/**'
pull_request:
branches: [main]
paths: *model-example-paths
Expand Down Expand Up @@ -67,7 +66,8 @@ jobs:

- name: Generate features
run: >-
python examples/cpp/cpp_integration/prepare_inputs.py --output-dir features
python model/examples/cpp/cpp_integration/prepare_inputs.py
--output-dir features

- name: Upload features
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
Expand Down Expand Up @@ -98,7 +98,7 @@ jobs:

- name: Configure and build project
run: |
cmake -B build_example -S examples/cpp/cpp_integration -G Ninja
cmake -B build_example -S model/examples/cpp/cpp_integration -G Ninja
cmake --build build_example

- name: Download features
Expand Down Expand Up @@ -141,7 +141,7 @@ jobs:

- name: Configure, build, and install project
run: |
cmake -B build_example -S examples/fortran/ftorch_integration -G Ninja \
cmake -B build_example -S model/examples/fortran/ftorch_integration -G Ninja \
-DCMAKE_INSTALL_PREFIX="$CONDA_PREFIX"
cmake --build build_example
cmake --install build_example
Expand Down
42 changes: 42 additions & 0 deletions .github/workflows/model-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Model tests

on:
push:
branches: [main]
paths: &model-test-paths
- '.github/workflows/model-test.yml'
- 'model/**'
- 'pixi.lock'
- 'pixi.toml'
- 'pyproject.toml'
- 'skala/src/**'
pull_request:
branches: [main]
paths: *model-test-paths
workflow_dispatch:

permissions:
contents: read

jobs:
test:
runs-on: ubuntu-latest
env:
OMP_NUM_THREADS: 4
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: Print CPU diagnostics
uses: ./.github/actions/cpu-diagnostics

- name: Setup Pixi
uses: prefix-dev/setup-pixi@f00437f565399d418b0acc85936d12c1fb668347 # v0.10.1
with:
pixi-version: v0.75.0
environments: default
activate-environment: true
locked: true
cache: false

- name: Run model unit tests
run: pytest -v model/tests/test_model.py model/tests/test_utils.py
3 changes: 2 additions & 1 deletion .github/workflows/pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,14 @@ jobs:
cache: false

- name: Build conda artifact
run: pixi publish --path . --target-dir dist-conda
run: pixi publish --path skala --target-dir dist-conda

- name: Store conda artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: skala-conda-pkg
path: dist-conda/*.conda
if-no-files-found: error

publish-to-pypi:
name: Publish to PyPI
Expand Down
Loading
Loading