@@ -152,6 +152,11 @@ jobs:
152152 conda install $PACKAGE_NAME pytest python=${{ matrix.python }} $CHANNELS
153153 # Test installed packages
154154 conda list
155+ - name : Smoke test
156+ run : |
157+ export OCL_ICD_FILENAMES=libintelocl.so
158+ export SYCL_ENABLE_HOST_DEVICE=1
159+ python -c "import dpctl; dpctl.lsplatform()"
155160 - name : Run tests
156161 run : |
157162 # echo "libintelocl.so" | tee /etc/OpenCL/vendors/intel-cpu.icd
@@ -213,10 +218,48 @@ jobs:
213218 # Test installed packages
214219 conda list
215220 - name : Add library
216- run : echo "OCL_ICD_FILENAMES=C:\Miniconda\Library\lib\intelocl64.dll" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
221+ run : |
222+ echo "OCL_ICD_FILENAMES=C:\Miniconda\Library\lib\intelocl64.dll" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
223+ try {$list = Get-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors | Select-Object -ExpandProperty Property } catch {$list=@()}
224+ if ($list.count -eq 0) {
225+ if (-not (Test-Path -Path HKLM:\SOFTWARE\Khronos)) {
226+ New-Item -Path HKLM:\SOFTWARE\Khronos
227+ }
228+ if (-not (Test-Path -Path HKLM:\SOFTWARE\Khronos\OpenCL)) {
229+ New-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL
230+ }
231+ if (-not (Test-Path -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors)) {
232+ New-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors
233+ }
234+ New-ItemProperty -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors -Name C:\Miniconda\Library\lib\intelocl64.dll -Value 0
235+ try {$list = Get-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors | Select-Object -ExpandProperty Property } catch {$list=@()}
236+ Write-Output $(Get-Item -Path HKLM:\SOFTWARE\Khronos\OpenCL\Vendors)
237+ # Now copy OpenCL.dll into system folder
238+ $system_ocl_icd_loader="C:\Windows\System32\OpenCL.dll"
239+ $python_ocl_icd_loader="C:\Miniconda\Library\bin\OpenCL.dll"
240+ Copy-Item -Path $python_ocl_icd_loader -Destination $system_ocl_icd_loader
241+ if (Test-Path -Path $system_ocl_icd_loader) {
242+ Write-Output "$system_ocl_icd_loader has been copied"
243+ $acl = Get-Acl $system_ocl_icd_loader
244+ Write-Output $acl
245+ } else {
246+ Write-Output "OCL-ICD-Loader was not copied"
247+ }
248+ # Create symbolic links to tbb next to OpenCL's task_executor, where it expects to find them
249+ New-Item -ItemType HardLink -Path "C:\Miniconda\Library\lib\tbb12.dll" -Target "C:\Miniconda\Library\bin\tbb12.dll"
250+ New-Item -ItemType HardLink -Path "C:\Miniconda\Library\lib\tbbmalloc.dll" -Target "C:\Miniconda\Library\bin\tbbmalloc.dll"
251+ }
252+ - name : Smoke test
253+ run : |
254+ set SYCL_ENABLE_HOST_DEVICE=1
255+ & { [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Miniconda\Library\bin\", [EnvironmentVariableTarget]::Machine) }
256+ python -c "import dpctl; dpctl.lsplatform()"
257+ python -c "import dpctl; print(dpctl.get_devices(backend='opencl', device_type='gpu'))"
258+ python -c "import dpctl; print(dpctl.get_num_devices(backend='opencl', device_type='gpu'))"
217259 - name : Run tests
218260 run : |
219261 set SYCL_ENABLE_HOST_DEVICE=1
262+ & { [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Miniconda\Library\bin\", [EnvironmentVariableTarget]::Machine) }
220263 python -m pytest --pyargs ${{ env.MODULE_NAME }}
221264
222265 upload_linux :
0 commit comments