Skip to content

Commit f772888

Browse files
Merge pull request #1440 from IntelPython/require_dpcpp_2024-port
Require dpcpp compiler 2024.0 and runtime >=2024.0
2 parents 9afb742 + 3a1399a commit f772888

File tree

5 files changed

+58
-40
lines changed

5 files changed

+58
-40
lines changed

Diff for: .github/workflows/conda-package.yml

+34-33
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ jobs:
4848
echo "WHEELS_OUTPUT_FOLDER=$GITHUB_WORKSPACE${{ runner.os == 'Linux' && '/' || '\\' }}" >> $GITHUB_ENV
4949
- name: Build conda package
5050
run: |
51-
CHANNELS="-c intel -c conda-forge --override-channels"
52-
VERSIONS="--python ${{ matrix.python }}"
51+
# use bootstrap channel to pull NumPy linked with OpenBLAS
52+
CHANNELS="-c dppy/label/bootstrap -c intel -c conda-forge --override-channels"
53+
VERSIONS="--python ${{ matrix.python }} --numpy 1.23"
5354
TEST="--no-test"
5455
conda build \
5556
$TEST \
@@ -104,7 +105,7 @@ jobs:
104105
- name: Build conda package
105106
env:
106107
OVERRIDE_INTEL_IPO: 1 # IPO requires more resources that GH actions VM provides
107-
run: conda build --no-test --python ${{ matrix.python }} -c intel -c conda-forge --override-channels conda-recipe
108+
run: conda build --no-test --python ${{ matrix.python }} -c intel -c conda-forge --override-channels conda-recipe
108109
- name: Upload artifact
109110
uses: actions/upload-artifact@v3
110111
with:
@@ -392,36 +393,6 @@ jobs:
392393
ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
393394
run: anaconda --token ${{ env.ANACONDA_TOKEN }} upload --user dppy --label dev ${{ env.PACKAGE_NAME }}-*.whl --version ${{ env.PACKAGE_VERSION }}
394395

395-
cleanup_packages:
396-
name: Clean up anaconda packages
397-
needs: [upload_linux, upload_windows]
398-
runs-on: 'ubuntu-latest'
399-
defaults:
400-
run:
401-
shell: bash -el {0}
402-
steps:
403-
- uses: conda-incubator/setup-miniconda@v2
404-
with:
405-
run-post: false
406-
channel-priority: "disabled"
407-
channels: conda-forge
408-
python-version: '3.11'
409-
410-
- name: Install anaconda-client
411-
run: conda install anaconda-client
412-
413-
- name: Checkout repo
414-
uses: actions/checkout@v2
415-
with:
416-
repository: IntelPython/devops-tools
417-
fetch-depth: 0
418-
419-
- name: Cleanup old packages
420-
run: |
421-
python scripts/cleanup-old-packages.py \
422-
--verbose --force --token ${{ secrets.ANACONDA_TOKEN }} \
423-
--package dppy/${{ env.PACKAGE_NAME }} --label dev
424-
425396
test_examples_linux:
426397
needs: build_linux
427398
runs-on: ${{ matrix.runner }}
@@ -699,3 +670,33 @@ jobs:
699670
allow-repeats: true
700671
repo-token: ${{ secrets.GITHUB_TOKEN }}
701672
repo-token-user-login: 'github-actions[bot]'
673+
674+
cleanup_packages:
675+
name: Clean up anaconda packages
676+
needs: [upload_linux, upload_windows]
677+
runs-on: 'ubuntu-latest'
678+
defaults:
679+
run:
680+
shell: bash -el {0}
681+
steps:
682+
- uses: conda-incubator/setup-miniconda@v2
683+
with:
684+
run-post: false
685+
channel-priority: "disabled"
686+
channels: conda-forge
687+
python-version: '3.11'
688+
689+
- name: Install anaconda-client
690+
run: conda install anaconda-client
691+
692+
- name: Checkout repo
693+
uses: actions/checkout@v3
694+
with:
695+
repository: IntelPython/devops-tools
696+
fetch-depth: 0
697+
698+
- name: Cleanup old packages
699+
run: |
700+
python scripts/cleanup-old-packages.py \
701+
--verbose --force --token ${{ secrets.ANACONDA_TOKEN }} \
702+
--package dppy/${{ env.PACKAGE_NAME }} --label dev

Diff for: .github/workflows/generate-coverage.yaml

+10-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ jobs:
1212
env:
1313
ONEAPI_ROOT: /opt/intel/oneapi
1414
GTEST_ROOT: /home/runner/work/googletest-1.13.0/install
15+
# Use oneAPI compiler 2023 to work around an issue
16+
USE_2023: 1
1517

1618
steps:
1719
- name: Cancel Previous Runs
@@ -27,7 +29,14 @@ jobs:
2729
sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main"
2830
sudo apt-get update
2931
30-
- name: Install Intel OneAPI
32+
- name: Install Intel OneAPI 2023
33+
if: env.USE_2023 == '1'
34+
run: |
35+
sudo apt-get install intel-oneapi-compiler-dpcpp-cpp-2023.2.1
36+
sudo apt-get install intel-oneapi-tbb-2021.10.0
37+
38+
- name: Install latest Intel OneAPI
39+
if: env.USE_2023 != '1'
3140
run: |
3241
sudo apt-get install intel-oneapi-compiler-dpcpp-cpp
3342
sudo apt-get install intel-oneapi-tbb

Diff for: conda-recipe/meta.yaml

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
{% set required_compiler_version = "2024.0" %}
2+
13
package:
24
name: dpctl
35
version: {{ GIT_DESCRIBE_TAG }}
@@ -14,7 +16,7 @@ build:
1416
requirements:
1517
build:
1618
- {{ compiler('cxx') }}
17-
- {{ compiler('dpcpp') }} >=2023.2 # [not osx]
19+
- {{ compiler('dpcpp') }} >={{ required_compiler_version }} # [not osx]
1820
- sysroot_linux-64 >=2.28 # [linux]
1921
host:
2022
- setuptools
@@ -29,7 +31,7 @@ requirements:
2931
run:
3032
- python
3133
- {{ pin_compatible('numpy', min_pin='x.x', upper_bound='1.26') }}
32-
- dpcpp-cpp-rt >=2023.2
34+
- dpcpp-cpp-rt >={{ required_compiler_version }}
3335
- level-zero # [linux]
3436

3537
test:

Diff for: scripts/gen_coverage.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,14 @@ def find_objects():
195195
args.cxx_compiler = "icpx"
196196
args.compiler_root = None
197197
icx_path = subprocess.check_output(["which", "icx"])
198-
bin_dir = os.path.dirname(os.path.dirname(icx_path))
199-
args.bin_llvm = os.path.join(bin_dir.decode("utf-8"), "bin-llvm")
198+
bin_dir = os.path.dirname(icx_path)
199+
compiler_dir = os.path.join(bin_dir.decode("utf-8"), "compiler")
200+
if os.path.exists(compiler_dir):
201+
args.bin_llvm = os.path.join(bin_dir.decode("utf-8"), "compiler")
202+
else:
203+
bin_dir = os.path.dirname(bin_dir)
204+
args.bin_llvm = os.path.join(bin_dir.decode("utf-8"), "bin-llvm")
205+
assert os.path.exists(args.bin_llvm)
200206
else:
201207
args_to_validate = [
202208
"c_compiler",

Diff for: scripts/gen_docs.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,8 @@ def run(
134134
args.cxx_compiler = "icpx"
135135
args.compiler_root = None
136136
icx_path = subprocess.check_output(["which", "icx"])
137-
bin_dir = os.path.dirname(os.path.dirname(icx_path))
138-
args.bin_llvm = os.path.join(bin_dir.decode("utf-8"), "bin-llvm")
137+
bin_dir = os.path.dirname(icx_path)
138+
args.bin_llvm = os.path.join(bin_dir.decode("utf-8"), "compiler")
139139
else:
140140
args_to_validate = [
141141
"c_compiler",

0 commit comments

Comments
 (0)