Skip to content

Commit 69be39d

Browse files
Merge pull request #1924 from IntelPython/backport-gh-1922
Backport gh-1922
2 parents 7bac769 + 2b08941 commit 69be39d

File tree

3 files changed

+43
-1
lines changed

3 files changed

+43
-1
lines changed

CHANGELOG.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7-
## [0.18.2] - Nov. XX, 2024
7+
## [0.18.3] - Dec. XX, 2024
8+
9+
### Fixed
10+
11+
* Enabled `dpctl` in virtual environment on Windows platform (issue [gh-1745](https://github.com/IntelPython/dpctl/issues/1745)) [gh-1924](https://github.com/IntelPython/dpctl/pull/1924)
12+
13+
## [0.18.2] - Nov. 21, 2024
814

915
### Maintenance
1016

dpctl/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import os
2727
import os.path
2828

29+
from . import _init_helper
2930
from ._device_selection import select_device_with_aspects
3031
from ._sycl_context import SyclContext, SyclContextCreationError
3132
from ._sycl_device import (
@@ -137,3 +138,4 @@ def get_include():
137138

138139
__version__ = get_versions()["version"]
139140
del get_versions
141+
del _init_helper

dpctl/_init_helper.py

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Data Parallel Control (dpctl)
2+
#
3+
# Copyright 2020-2024 Intel Corporation
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
import os
18+
import os.path
19+
import sys
20+
21+
is_venv_win32 = (
22+
sys.platform == "win32"
23+
and sys.base_exec_prefix != sys.exec_prefix
24+
and os.path.isfile(os.path.join(sys.exec_prefix, "pyvenv.cfg"))
25+
)
26+
27+
if is_venv_win32:
28+
# For virtual environments on Windows, add folder
29+
# with DPC++ libraries to the DLL search path gh-1745
30+
dll_dir = os.path.join(sys.exec_prefix, "Library", "bin")
31+
if os.path.isdir(dll_dir):
32+
os.add_dll_directory(dll_dir)
33+
34+
del is_venv_win32

0 commit comments

Comments
 (0)