Skip to content

Commit f3160da

Browse files
Added smoke step for testing_${{ platform }} jobs (#733)
1 parent 43f33cc commit f3160da

File tree

1 file changed

+44
-1
lines changed

1 file changed

+44
-1
lines changed

.github/workflows/conda-package.yml

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)