-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
220 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,191 @@ | ||
name: Test oneMKL interfaces | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
|
||
permissions: read-all | ||
|
||
env: | ||
CHANNELS: '-c dppy/label/dev -c https://software.repos.intel.com/python/conda/ -c conda-forge --override-channels' | ||
TEST_ENV_NAME: 'test_onemkl_interfaces' | ||
BUILD_DEP_PKGS: >- | ||
mkl-devel-dpcpp | ||
tbb-devel | ||
dpctl | ||
onedpl-devel | ||
setuptools | ||
python | ||
numpy">=2.0" | ||
cython | ||
cmake | ||
ninja | ||
scikit-build | ||
jobs: | ||
test_default: | ||
name: Run on ['${{ matrix.os }}', python='${{ matrix.python }}'] | ||
|
||
strategy: | ||
matrix: | ||
python: ['3.12'] | ||
os: [ubuntu-22.04] # windows-2019 - no DFT support for Windows in oneMKL | ||
|
||
permissions: | ||
# Needed to cancel any previous runs that are not completed for a given workflow | ||
actions: write | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
defaults: | ||
run: | ||
shell: ${{ matrix.os == 'windows-2019' && 'cmd /C CALL {0}' || 'bash -el {0}' }} | ||
|
||
continue-on-error: false | ||
|
||
steps: | ||
- name: Cancel Previous Runs | ||
uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 | ||
with: | ||
access_token: ${{ github.token }} | ||
|
||
- name: Checkout DPNP repo | ||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup miniconda | ||
uses: conda-incubator/setup-miniconda@d2e6a045a86077fb6cad6f5adf368e9076ddaa8d # v3.1.0 | ||
with: | ||
miniforge-version: latest | ||
use-mamba: 'true' | ||
channels: conda-forge | ||
conda-remove-defaults: 'true' | ||
python-version: ${{ matrix.python }} | ||
activate-environment: ${{ env.TEST_ENV_NAME }} | ||
|
||
# Sometimes `mamba install ...` fails due to slow download speed rate, so disable the check in mamba | ||
- name: Disable speed limit check in mamba | ||
run: echo "MAMBA_NO_LOW_SPEED_LIMIT=1" >> $GITHUB_ENV | ||
|
||
- name: Install dpnp build dependencies | ||
run: | | ||
mamba install ${{ env.DPCPP_PKG }} ${{ env.BUILD_DEP_PKGS }} ${{ env.CHANNELS }} | ||
env: | ||
DPCPP_PKG: ${{ matrix.os == 'windows-2019' && 'dpcpp_win-64 vs_win-64=2017.9' || 'dpcpp_linux-64' }} | ||
|
||
- name: Conda info | ||
run: | | ||
mamba info | ||
mamba list | ||
- name: Build and install DPNP package | ||
run: | | ||
python scripts/build_locally.py --onemkl-interfaces --verbose | ||
- name: Smoke test | ||
run: | | ||
python -m dpctl -f | ||
python -c "import dpnp; print(dpnp.__version__)" | ||
- name: Install pytest | ||
run: | | ||
mamba install pytest ${{ env.CHANNELS }} | ||
- name: Run tests | ||
run: | | ||
python -m pytest -ra --pyargs dpnp.tests | ||
env: | ||
SYCL_CACHE_PERSISTENT: 1 | ||
|
||
test_build_option: | ||
name: Run on ['${{ matrix.os }}', python='${{ matrix.python }}'] though build option | ||
|
||
strategy: | ||
matrix: | ||
python: ['3.12'] | ||
os: [ubuntu-22.04] # windows-2019 - no DFT support for Windows in oneMKL | ||
|
||
permissions: | ||
# Needed to cancel any previous runs that are not completed for a given workflow | ||
actions: write | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
defaults: | ||
run: | ||
shell: ${{ matrix.os == 'windows-2019' && 'cmd /C CALL {0}' || 'bash -el {0}' }} | ||
|
||
continue-on-error: true | ||
|
||
env: | ||
onemkl-source-dir: '${{ github.workspace }}/onemkl/' | ||
|
||
steps: | ||
- name: Cancel Previous Runs | ||
uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 | ||
with: | ||
access_token: ${{ github.token }} | ||
|
||
- name: Checkout DPNP repo | ||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Checkout oneMKL repo | ||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
with: | ||
repository: 'oneapi-src/oneMKL' | ||
ref: 'v0.6' # the same as handcoded by default | ||
path: ${{ env.onemkl-source-dir }} | ||
fetch-depth: 0 | ||
|
||
- name: oneMKL ls info | ||
run: | | ||
ls -la ${{ env.onemkl-source-dir }} | ||
- name: Setup miniconda | ||
uses: conda-incubator/setup-miniconda@d2e6a045a86077fb6cad6f5adf368e9076ddaa8d # v3.1.0 | ||
with: | ||
miniforge-version: latest | ||
use-mamba: 'true' | ||
channels: conda-forge | ||
conda-remove-defaults: 'true' | ||
python-version: ${{ matrix.python }} | ||
activate-environment: ${{ env.TEST_ENV_NAME }} | ||
|
||
# Sometimes `mamba install ...` fails due to slow download speed rate, so disable the check in mamba | ||
- name: Disable speed limit check in mamba | ||
run: echo "MAMBA_NO_LOW_SPEED_LIMIT=1" >> $GITHUB_ENV | ||
|
||
- name: Install dpnp build dependencies | ||
run: | | ||
mamba install ${{ env.DPCPP_PKG }} ${{ env.BUILD_DEP_PKGS }} ${{ env.CHANNELS }} | ||
env: | ||
DPCPP_PKG: ${{ matrix.os == 'windows-2019' && 'dpcpp_win-64 vs_win-64=2017.9' || 'dpcpp_linux-64' }} | ||
|
||
- name: Conda info | ||
run: | | ||
mamba info | ||
mamba list | ||
- name: Build and install DPNP package | ||
run: | | ||
python scripts/build_locally.py --onemkl-interfaces --onemkl-interfaces-dir=${{ env.onemkl-source-dir }} --verbose | ||
- name: Smoke test | ||
run: | | ||
python -m dpctl -f | ||
python -c "import dpnp; print(dpnp.__version__)" | ||
- name: Install pytest | ||
run: | | ||
mamba install pytest ${{ env.CHANNELS }} | ||
- name: Run tests | ||
run: | | ||
python -m pytest -ra --pyargs dpnp.tests | ||
env: | ||
SYCL_CACHE_PERSISTENT: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters