-
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.
Bump oneMKL version to
0.6
and add new --onemkl-interfaces-dir
op…
…tion (#2193) * Bump oneMKL version to 0.6 * Add GH action to check build with oneMKL interfaces * Add DPNP_ONEMKL_INTERFACES_DIR option
- Loading branch information
1 parent
5cf4883
commit 475c531
Showing
3 changed files
with
218 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_by_tag: | ||
name: Run on ['${{ matrix.os }}', python='${{ matrix.python }}'] with oneMKL tag | ||
|
||
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_by_branch: | ||
name: Run on ['${{ matrix.os }}', python='${{ matrix.python }}'] with oneMKL develop branch | ||
|
||
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: 'develop' | ||
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