From 6911b6fc85e5b85e2f1a769d2efb4accf1858a74 Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Sat, 1 Oct 2022 14:04:38 -0500 Subject: [PATCH 01/11] set CMAKE_FIND_ROOT_PATH_MODE_INCLUDE to BOTH In scikit-build 0.14.0 -DCMAKE_FIND_PATH_MODE_INCLUDE=ONLY started being set. This breaks working of IntelDPCPP integration with cmake, since find_file starts ignoring specified paths and hints. Setting the value in CMakeLists.txt overrides that value --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 704b10d58d..815c4ec0e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,7 @@ project(dpctl set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) # Option to generate code coverage report using llvm-cov and lcov. option(DPCTL_GENERATE_COVERAGE From 034ae1e36d78da8367c217f28da32415db6d44f3 Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Sat, 1 Oct 2022 14:38:59 -0500 Subject: [PATCH 02/11] _onemkl example should link to OpenCL per link advisor --- examples/pybind11/onemkl_gemv/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/pybind11/onemkl_gemv/CMakeLists.txt b/examples/pybind11/onemkl_gemv/CMakeLists.txt index f8d133b9aa..fab3f5b235 100644 --- a/examples/pybind11/onemkl_gemv/CMakeLists.txt +++ b/examples/pybind11/onemkl_gemv/CMakeLists.txt @@ -30,6 +30,7 @@ find_library(mkl_sycl NAMES mkl_sycl PATHS ${MKL_LIBRARY_DIR} REQUIRED) find_library(mkl_intel_ilp64 NAMES mkl_intel_ilp64 PATHS ${MKL_LIBRARY_DIR} REQUIRED) find_library(mkl_tbb_thread NAMES mkl_tbb_thread PATHS ${MKL_LIBRARY_DIR} REQUIRED) find_library(tbb NAMES tbb PATHS ${TBB_LIBRARY_DIR} REQUIRED) +find_library(OpenCL NAMES OpenCL REQUIRED) set(py_module_name _onemkl) @@ -64,7 +65,7 @@ target_include_directories(standalone_cpp PUBLIC ${MKL_INCLUDE_DIR} ${TBB_INCLUDE_DIR} sycl_gemm ) target_link_libraries(standalone_cpp - PRIVATE ${mkl_sycl} ${mkl_intel_ilp64} ${mkl_tbb_thread} ${mkl_core} ${tbb} + PRIVATE ${mkl_sycl} ${mkl_intel_ilp64} ${mkl_tbb_thread} ${mkl_core} ${tbb} ${OpenCL} ) set(ignoreMe "${SKBUILD}") From bdf126b44477a82ee3e6c6d5b18ae6eb0c3cc8e2 Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Sun, 2 Oct 2022 07:33:12 -0500 Subject: [PATCH 03/11] Setting location of TBB_DLLs in cl.cfg --- .github/workflows/conda-package.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index b5019f42d1..b948650ff6 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -270,7 +270,8 @@ jobs: Write-Output "OCL-ICD-Loader was not copied" } # Variable assisting OpenCL CPU driver to find TBB DLLs which are not located where it expects them by default - echo "TBB_DLL_PATH=C:\Miniconda\Library\bin" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + $cl_cfg="C:\Miniconda\Library\lib\cl.cfg" + (Get-Content $cl_cfg) -replace '^CL_CONFIG_TBB_DLL_PATH =', 'CL_CONFIG_TBB_DLL_PATH = C:\Miniconda\Library\bin' | Set-Content $cl_cfg } - name: Smoke test run: | From 27462c5361cd17f9711dadb345673d904c340ea8 Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Mon, 3 Oct 2022 05:30:59 -0500 Subject: [PATCH 04/11] Use -c intel -c main for conda-packages.yml Also adjusted conda list command in test_linux section to list content of test_dpctl environment --- .github/workflows/conda-package.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index b948650ff6..cdb60a5837 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -44,7 +44,7 @@ jobs: run: conda install conda-build - name: Build conda package run: | - CHANNELS="-c defaults -c intel --override-channels" + CHANNELS="-c intel -c main --override-channels" VERSIONS="--python ${{ matrix.python }}" TEST="--no-test" conda build \ @@ -89,7 +89,7 @@ jobs: - name: Install conda-build run: conda install conda-build - name: Build conda package - run: conda build --no-test --python ${{ matrix.python }} -c defaults -c intel --override-channels conda-recipe + run: conda build --no-test --python ${{ matrix.python }} -c intel -c main --override-channels conda-recipe - name: Upload artifact uses: actions/upload-artifact@v2 with: @@ -107,7 +107,7 @@ jobs: runner: [ubuntu-latest] continue-on-error: ${{ matrix.experimental }} env: - CHANNELS: -c defaults -c intel --override-channels + CHANNELS: -c intel -c main --override-channels steps: - name: Download artifact @@ -154,7 +154,7 @@ jobs: export PACKAGE_VERSION=$(python -c "${VER_SCRIPT1} ${VER_SCRIPT2}") conda create -n test_dpctl $PACKAGE_NAME=${PACKAGE_VERSION} pytest python=${{ matrix.python }} $CHANNELS # Test installed packages - conda list + conda list -n test_dpctl - name: Smoke test run: | . $CONDA/etc/profile.d/conda.sh @@ -183,7 +183,7 @@ jobs: runner: [windows-latest] continue-on-error: ${{ matrix.experimental }} env: - CHANNELS: -c defaults -c intel --override-channels + CHANNELS: -c intel -c main --override-channels steps: - name: Download artifact @@ -347,7 +347,7 @@ jobs: runner: [ubuntu-latest] continue-on-error: ${{ matrix.experimental }} env: - CHANNELS: -c defaults -c intel --override-channels + CHANNELS: -c intel -c main --override-channels steps: - name: Install conda-build @@ -405,7 +405,7 @@ jobs: shell: bash -l {0} run: | source $CONDA/etc/profile.d/conda.sh - CHANNELS="-c $GITHUB_WORKSPACE/channel -c dppy/label/dev -c intel -c defaults --override-channels" + CHANNELS="-c $GITHUB_WORKSPACE/channel -c dppy/label/dev -c intel -c main --override-channels" export PACKAGE_VERSION=$(python -c "${VER_SCRIPT1} ${VER_SCRIPT2}") conda install -n examples -y ${CHANNELS} dpctl=${PACKAGE_VERSION} dpnp">=0.10.1" || exit 1 - name: Build and run examples with native extensions @@ -489,7 +489,7 @@ jobs: runner: [ubuntu-latest] continue-on-error: ${{ matrix.experimental }} env: - CHANNELS: -c intel -c defaults --override-channels + CHANNELS: -c intel -c main --override-channels steps: - name: Cache array API tests id: cache-array-api-tests From fdf78355289d15b9f3f6411bc7335ecbb73dd84a Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Mon, 3 Oct 2022 11:41:52 -0500 Subject: [PATCH 05/11] Fixed empty LIBZE_LOADER_FILENAME and LIBCL_LOADER_FILENAME Variables were set in the nested scope and not propagated to the parent scope. The config also has erroneous space before the trailing @ symbol. --- libsyclinterface/CMakeLists.txt | 8 +++++++- libsyclinterface/include/Config/dpctl_config.h.in | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libsyclinterface/CMakeLists.txt b/libsyclinterface/CMakeLists.txt index a3ceca466d..4c6987901a 100644 --- a/libsyclinterface/CMakeLists.txt +++ b/libsyclinterface/CMakeLists.txt @@ -67,8 +67,10 @@ if(DPCTL_ENABLE_L0_PROGRAM_CREATION) OUTPUT_VARIABLE LIBZE_LOADER_FILENAME OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE - ) + ) + set(LIBZE_LOADER_FILENAME ${LIBZE_LOADER_FILENAME} PARENT_SCOPE) endif() + set(LIBZE_LOADER_FILENAME ${LIBZE_LOADER_FILENAME} PARENT_SCOPE) endif() if (UNIX) @@ -86,8 +88,12 @@ if (UNIX) OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE ) + set(LIBCL_LOADER_FILENAME ${LIBCL_LOADER_FILENAME} PARENT_SCOPE) endif() +message(STATUS "LIB_ZE: ${LIBZE_LOADER_FILENAME}") +message(STATUS "LIB_CL: ${LIBCL_LOADER_FILENAME}") + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/include/Config/dpctl_config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/include/Config/dpctl_config.h diff --git a/libsyclinterface/include/Config/dpctl_config.h.in b/libsyclinterface/include/Config/dpctl_config.h.in index 636cc24f45..7dcfab21c9 100644 --- a/libsyclinterface/include/Config/dpctl_config.h.in +++ b/libsyclinterface/include/Config/dpctl_config.h.in @@ -27,7 +27,7 @@ /* Defined when dpctl was built with level zero program creation enabled. */ #cmakedefine DPCTL_ENABLE_L0_PROGRAM_CREATION \ - @DPCTL_ENABLE_L0_PROGRAM_CREATION @ + @DPCTL_ENABLE_L0_PROGRAM_CREATION@ /* The DPCPP version used to build dpctl */ #define DPCTL_DPCPP_VERSION "@IntelSycl_VERSION@" From d8fc8dcbc7698f34c3e45ba934492be31ccd3ed5 Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Mon, 3 Oct 2022 12:34:37 -0500 Subject: [PATCH 06/11] Set CMAKE_FIND_ROOT_PATH_MODE_LIBRARY to BOTH too This is to ensure that find_library can find libpi_level_zero and libpi_opencl --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 815c4ec0e4..0b436c8b64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,7 @@ project(dpctl set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) # Option to generate code coverage report using llvm-cov and lcov. option(DPCTL_GENERATE_COVERAGE From 99e49c055f209f6cde80d0f2a9145af2cbed86f1 Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Mon, 3 Oct 2022 14:02:26 -0500 Subject: [PATCH 07/11] Fixing windows by using cmd shell to run tests --- .github/workflows/conda-package.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index cdb60a5837..5cd95f8550 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -194,6 +194,11 @@ jobs: with: auto-activate-base: true activate-environment: "" + - name: Checkout repo + # We do not need the checkout, but it sets up GITHUB_WORKSPACE env. variable + uses: actions/checkout@v2 + with: + fetch-depth: 0 - name: Install conda-build # Needed to be able to run conda index run: conda install conda-build @@ -206,7 +211,7 @@ jobs: conda search ${{ env.PACKAGE_NAME }} -c ${{ env.GITHUB_WORKSPACE }}/channel --override-channels --info --json > ${{ env.GITHUB_WORKSPACE }}\ver.json more ${{ env.GITHUB_WORKSPACE }}\ver.json - name: Collect dependencies - shell: cmd + shell: cmd /C CALL {0} run: | @ECHO ON copy /Y ${{ env.GITHUB_WORKSPACE }}\ver.json . @@ -230,7 +235,7 @@ jobs: - name: Install opencl_rt run: conda install opencl_rt -c intel --override-channels - name: Install dpctl - shell: cmd + shell: cmd /C CALL {0} run: | @ECHO ON copy /Y ${{ env.GITHUB_WORKSPACE }}\ver.json . @@ -239,9 +244,10 @@ jobs: SET PACKAGE_VERSION=%%F ) conda install ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% pytest python=${{ matrix.python }} -c ${{ env.GITHUB_WORKSPACE }}/channel ${{ env.CHANNELS }} - # Test installed packages + REM Test installed packages conda list - name: Add library + shell: pwsh run: | echo "OCL_ICD_FILENAMES=C:\Miniconda\Library\lib\intelocl64.dll" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append try {$list = Get-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors | Select-Object -ExpandProperty Property } catch {$list=@()} @@ -274,16 +280,16 @@ jobs: (Get-Content $cl_cfg) -replace '^CL_CONFIG_TBB_DLL_PATH =', 'CL_CONFIG_TBB_DLL_PATH = C:\Miniconda\Library\bin' | Set-Content $cl_cfg } - name: Smoke test + shell: cmd /C CALL {0} run: | set SYCL_ENABLE_HOST_DEVICE=1 - & { [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Miniconda\Library\bin\", [EnvironmentVariableTarget]::Machine) } python -c "import dpctl; dpctl.lsplatform()" python -c "import dpctl; print(dpctl.get_devices(backend='opencl', device_type='gpu'))" python -c "import dpctl; print(dpctl.get_num_devices(backend='opencl', device_type='gpu'))" - name: Run tests + shell: cmd /C CALL {0} run: | set SYCL_ENABLE_HOST_DEVICE=1 - & { [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Miniconda\Library\bin\", [EnvironmentVariableTarget]::Machine) } python -m pytest -p no:faulthandler --pyargs ${{ env.MODULE_NAME }} upload_linux: From 8eb1c72b3159fdbb5dbd6e6438afda2f872d32ee Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Tue, 4 Oct 2022 10:37:38 -0500 Subject: [PATCH 08/11] Create workdir env var to use instead of GITHUB_WORKSPACE --- .github/workflows/conda-package.yml | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index 5cd95f8550..4bb219bcaa 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -183,6 +183,7 @@ jobs: runner: [windows-latest] continue-on-error: ${{ matrix.experimental }} env: + workdir: '${{ github.workspace }}' CHANNELS: -c intel -c main --override-channels steps: @@ -194,32 +195,28 @@ jobs: with: auto-activate-base: true activate-environment: "" - - name: Checkout repo - # We do not need the checkout, but it sets up GITHUB_WORKSPACE env. variable - uses: actions/checkout@v2 - with: - fetch-depth: 0 - name: Install conda-build # Needed to be able to run conda index run: conda install conda-build - name: Create conda channel run: | - mkdir ${{ env.GITHUB_WORKSPACE }}\channel\win-64 - move ${{ env.PACKAGE_NAME }}-*.tar.bz2 ${{ env.GITHUB_WORKSPACE }}\channel\win-64 - conda index ${{ env.GITHUB_WORKSPACE }}/channel + echo ${{ env.workdir }} + mkdir ${{ env.workdir }}\channel\win-64 + move ${{ env.PACKAGE_NAME }}-*.tar.bz2 ${{ env.workdir }}\channel\win-64 + conda index ${{ env.workdir }}/channel # Test channel - conda search ${{ env.PACKAGE_NAME }} -c ${{ env.GITHUB_WORKSPACE }}/channel --override-channels --info --json > ${{ env.GITHUB_WORKSPACE }}\ver.json - more ${{ env.GITHUB_WORKSPACE }}\ver.json + conda search ${{ env.PACKAGE_NAME }} -c ${{ env.workdir }}/channel --override-channels --info --json > ${{ env.workdir }}\ver.json + more ${{ env.workdir }}\ver.json - name: Collect dependencies shell: cmd /C CALL {0} run: | @ECHO ON - copy /Y ${{ env.GITHUB_WORKSPACE }}\ver.json . + copy /Y ${{ env.workdir }}\ver.json . set "SCRIPT=%VER_SCRIPT1% %VER_SCRIPT2%" FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO ( SET PACKAGE_VERSION=%%F ) - conda install ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} -c ${{ env.GITHUB_WORKSPACE }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile + conda install ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile more lockfile - name: Cache conda packages uses: actions/cache@v3 @@ -238,12 +235,12 @@ jobs: shell: cmd /C CALL {0} run: | @ECHO ON - copy /Y ${{ env.GITHUB_WORKSPACE }}\ver.json . + copy /Y ${{ env.workdir }}\ver.json . set "SCRIPT=%VER_SCRIPT1% %VER_SCRIPT2%" FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO ( SET PACKAGE_VERSION=%%F ) - conda install ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% pytest python=${{ matrix.python }} -c ${{ env.GITHUB_WORKSPACE }}/channel ${{ env.CHANNELS }} + conda install ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% pytest python=${{ matrix.python }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} REM Test installed packages conda list - name: Add library From e838d9596e5d7b640ea2da55e54f5cb51f4a8327 Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Tue, 4 Oct 2022 11:24:37 -0500 Subject: [PATCH 09/11] Copy ver.json only if does not exist --- .github/workflows/conda-package.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index 4bb219bcaa..2141d04619 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -211,7 +211,9 @@ jobs: shell: cmd /C CALL {0} run: | @ECHO ON - copy /Y ${{ env.workdir }}\ver.json . + if not exist ver.json ( + copy /Y ${{ env.workdir }}\ver.json . + ) set "SCRIPT=%VER_SCRIPT1% %VER_SCRIPT2%" FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO ( SET PACKAGE_VERSION=%%F From 8ee1d4180747bb49380a97ba6b4d9c92f1351f9f Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Tue, 4 Oct 2022 12:51:58 -0500 Subject: [PATCH 10/11] Attempt to triage py38 --- .github/workflows/conda-package.yml | 37 +++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index 2141d04619..ee73b909f1 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -193,12 +193,16 @@ jobs: name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }} - uses: conda-incubator/setup-miniconda@v2 with: - auto-activate-base: true - activate-environment: "" + use-only-tar-bz2: true + auto-update-conda: true + miniconda-version: 'latest' + activate-environment: "dpctl_test" - name: Install conda-build + shell: cmd /C CALL {0} # Needed to be able to run conda index run: conda install conda-build - name: Create conda channel + shell: cmd /C CALL {0} run: | echo ${{ env.workdir }} mkdir ${{ env.workdir }}\channel\win-64 @@ -206,7 +210,7 @@ jobs: conda index ${{ env.workdir }}/channel # Test channel conda search ${{ env.PACKAGE_NAME }} -c ${{ env.workdir }}/channel --override-channels --info --json > ${{ env.workdir }}\ver.json - more ${{ env.workdir }}\ver.json + type ${{ env.workdir }}\ver.json - name: Collect dependencies shell: cmd /C CALL {0} run: | @@ -219,7 +223,11 @@ jobs: SET PACKAGE_VERSION=%%F ) conda install ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% python=${{ matrix.python }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} --only-deps --dry-run > lockfile - more lockfile + - name: Display lockfile content + shell: cmd /C CALL {0} + run: | + echo "Outputting content of lockfile:" + type lockfile - name: Cache conda packages uses: actions/cache@v3 env: @@ -232,6 +240,7 @@ jobs: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}- ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}- - name: Install opencl_rt + shell: cmd /C CALL {0} run: conda install opencl_rt -c intel --override-channels - name: Install dpctl shell: cmd /C CALL {0} @@ -243,12 +252,16 @@ jobs: SET PACKAGE_VERSION=%%F ) conda install ${{ env.PACKAGE_NAME }}=%PACKAGE_VERSION% pytest python=${{ matrix.python }} -c ${{ env.workdir }}/channel ${{ env.CHANNELS }} - REM Test installed packages + - name: Report content of test environemtn + shell: cmd /C CALL {0} + run: | + echo "Value of CONDA enviroment variable was: " %CONDA% conda list - name: Add library shell: pwsh run: | - echo "OCL_ICD_FILENAMES=C:\Miniconda\Library\lib\intelocl64.dll" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + $conda_env_library = "$env:CONDA_PREFIX\Library" + echo "OCL_ICD_FILENAMES=$conda_env_library\lib\intelocl64.dll" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append try {$list = Get-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors | Select-Object -ExpandProperty Property } catch {$list=@()} if ($list.count -eq 0) { if (-not (Test-Path -Path HKLM:\SOFTWARE\Khronos)) { @@ -260,12 +273,12 @@ jobs: if (-not (Test-Path -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors)) { New-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors } - New-ItemProperty -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors -Name C:\Miniconda\Library\lib\intelocl64.dll -Value 0 + New-ItemProperty -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors -Name $conda_env_library\lib\intelocl64.dll -Value 0 try {$list = Get-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors | Select-Object -ExpandProperty Property } catch {$list=@()} Write-Output $(Get-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors) # Now copy OpenCL.dll into system folder $system_ocl_icd_loader="C:\Windows\System32\OpenCL.dll" - $python_ocl_icd_loader="C:\Miniconda\Library\bin\OpenCL.dll" + $python_ocl_icd_loader="$conda_env_library\bin\OpenCL.dll" Copy-Item -Path $python_ocl_icd_loader -Destination $system_ocl_icd_loader if (Test-Path -Path $system_ocl_icd_loader) { Write-Output "$system_ocl_icd_loader has been copied" @@ -275,12 +288,15 @@ jobs: Write-Output "OCL-ICD-Loader was not copied" } # Variable assisting OpenCL CPU driver to find TBB DLLs which are not located where it expects them by default - $cl_cfg="C:\Miniconda\Library\lib\cl.cfg" - (Get-Content $cl_cfg) -replace '^CL_CONFIG_TBB_DLL_PATH =', 'CL_CONFIG_TBB_DLL_PATH = C:\Miniconda\Library\bin' | Set-Content $cl_cfg + $cl_cfg="$conda_env_library\lib\cl.cfg" + Write-Output $cl_cfg + (Get-Content $cl_cfg) -replace '^CL_CONFIG_TBB_DLL_PATH =', 'CL_CONFIG_TBB_DLL_PATH = $conda_env_library\bin' | Set-Content $cl_cfg + Get-Content -Tail 5 -Path $cl_cfg } - name: Smoke test shell: cmd /C CALL {0} run: | + python -c "import sys; print(sys.executable)" set SYCL_ENABLE_HOST_DEVICE=1 python -c "import dpctl; dpctl.lsplatform()" python -c "import dpctl; print(dpctl.get_devices(backend='opencl', device_type='gpu'))" @@ -289,6 +305,7 @@ jobs: shell: cmd /C CALL {0} run: | set SYCL_ENABLE_HOST_DEVICE=1 + python -c "import sys; print(sys.executable)" python -m pytest -p no:faulthandler --pyargs ${{ env.MODULE_NAME }} upload_linux: From 8b5105377d861a5940f6543723e9fa8df36136bf Mon Sep 17 00:00:00 2001 From: Oleksandr Pavlyk Date: Tue, 4 Oct 2022 18:38:25 -0500 Subject: [PATCH 11/11] Update conda-package.yml Use double quotes in Add library step to ensure it is expanded --- .github/workflows/conda-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conda-package.yml b/.github/workflows/conda-package.yml index ee73b909f1..9f551a5c8d 100644 --- a/.github/workflows/conda-package.yml +++ b/.github/workflows/conda-package.yml @@ -290,7 +290,7 @@ jobs: # Variable assisting OpenCL CPU driver to find TBB DLLs which are not located where it expects them by default $cl_cfg="$conda_env_library\lib\cl.cfg" Write-Output $cl_cfg - (Get-Content $cl_cfg) -replace '^CL_CONFIG_TBB_DLL_PATH =', 'CL_CONFIG_TBB_DLL_PATH = $conda_env_library\bin' | Set-Content $cl_cfg + (Get-Content $cl_cfg) -replace '^CL_CONFIG_TBB_DLL_PATH =', "CL_CONFIG_TBB_DLL_PATH = $conda_env_library\bin" | Set-Content $cl_cfg Get-Content -Tail 5 -Path $cl_cfg } - name: Smoke test