Skip to content

restructured repository #444

restructured repository

restructured repository #444

Workflow file for this run

name: GauXC examples
on:
push:
branches: [main]
paths: &gauxc-paths
- '.github/workflows/examples.yml'
- 'gauxc/**'
- 'pixi.lock'
- 'pixi.toml'
pull_request:
branches: [main]
paths: *gauxc-paths
permissions:
contents: read
jobs:
skala-checkpoint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- 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: assets
activate-environment: true
locked: true
cache: false
- name: Download checkpoint
run: >-
hf download microsoft/skala-1.1 skala-1.1-rev1.fun --local-dir .
- name: Upload checkpoint
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: skala-checkpoint
path: skala-1.1-rev1.fun
gauxc:
needs:
- skala-checkpoint
runs-on: ubuntu-latest
env:
GAUXC_REFERENCE_DATA: ${{ matrix.source == 'development' && '../gauxc/tests/ref_data/onedft_he_def2qzvp_tpss_uks.hdf5' || '../build_example/_deps/gauxc-src/tests/ref_data/onedft_he_def2qzvp_tpss_uks.hdf5' }}
strategy:
fail-fast: false
matrix:
toolchain: ["openmp", "mpi"]
source: ["pinned-release", "development"]
example: ["cpp", "c", "fortran"]
include:
- toolchain: openmp
example: cpp
environment: gauxc-openmp
- toolchain: openmp
example: c
environment: gauxc-openmp
- toolchain: openmp
example: fortran
environment: gauxc-openmp-fortran
- toolchain: mpi
example: cpp
environment: gauxc-mpi
- toolchain: mpi
example: c
environment: gauxc-mpi
- toolchain: mpi
example: fortran
environment: gauxc-mpi-fortran
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
path: skala
- name: Print CPU diagnostics
uses: ./skala/.github/actions/cpu-diagnostics
- name: Setup Pixi
uses: prefix-dev/setup-pixi@f00437f565399d418b0acc85936d12c1fb668347 # v0.10.1
with:
pixi-version: v0.75.0
working-directory: skala
environments: ${{ matrix.environment }}
activate-environment: true
locked: true
cache: false
- name: Checkout development GauXC
if: ${{ matrix.source == 'development' }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
repository: wavefunction91/gauxc
ref: skala
path: gauxc
- name: Configure GauXC
if: ${{ matrix.source == 'development' }}
working-directory: skala
env:
GAUXC_ENABLE_C: ${{ matrix.example != 'cpp' && 'ON' || 'OFF' }}
GAUXC_ENABLE_FORTRAN: ${{ matrix.example == 'fortran' && 'ON' || 'OFF' }}
GAUXC_ENABLE_MPI: ${{ matrix.toolchain == 'mpi' && 'ON' || 'OFF' }}
GAUXC_ENABLE_OPENMP: ${{ matrix.toolchain == 'openmp' && 'ON' || 'OFF' }}
run: |
cmake -B ../build_gauxc -S ../gauxc -G Ninja \
-DGAUXC_ENABLE_OPENMP="$GAUXC_ENABLE_OPENMP" \
-DGAUXC_ENABLE_MPI="$GAUXC_ENABLE_MPI" \
-DGAUXC_ENABLE_CUDA=OFF \
-DGAUXC_ENABLE_ONEDFT=ON \
-DGAUXC_ENABLE_C="$GAUXC_ENABLE_C" \
-DGAUXC_ENABLE_FORTRAN="$GAUXC_ENABLE_FORTRAN" \
-DGAUXC_ENABLE_TESTS=OFF \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX="$CONDA_PREFIX"
- name: Build GauXC
if: ${{ matrix.source == 'development' }}
working-directory: skala
run: cmake --build ../build_gauxc
- name: Install GauXC
if: ${{ matrix.source == 'development' }}
working-directory: skala
run: cmake --install ../build_gauxc
- name: Configure project
working-directory: skala
env:
GAUXC_ENABLE_MPI: ${{ matrix.toolchain == 'mpi' && 'ON' || 'OFF' }}
GAUXC_ENABLE_OPENMP: ${{ matrix.toolchain == 'openmp' && 'ON' || 'OFF' }}
run: |
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 \
-DCMAKE_INSTALL_PREFIX="$CONDA_PREFIX"
- name: Build project
working-directory: skala
run: cmake --build ../build_example
- name: Install project
working-directory: skala
run: cmake --install ../build_example
- name: Run example
working-directory: skala
run: Skala "$GAUXC_REFERENCE_DATA" --model TPSS
- name: Download checkpoint
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5
with:
name: skala-checkpoint
path: skala
- name: Run example
working-directory: skala
run: Skala "$GAUXC_REFERENCE_DATA" --model ./skala-1.1-rev1.fun