Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions dpctl/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import os
import os.path

from . import _init_helper
from ._device_selection import select_device_with_aspects
from ._sycl_context import SyclContext, SyclContextCreationError
from ._sycl_device import (
Expand Down Expand Up @@ -137,3 +138,4 @@ def get_include():

__version__ = get_versions()["version"]
del get_versions
del _init_helper
29 changes: 29 additions & 0 deletions dpctl/_init_helper.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Data Parallel Control (dpctl)
#
# Copyright 2020-2024 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import os
import os.path

if hasattr(os, "add_dll_directory"):
# For virtual environments on Windows, add folder
# with DPC++ libraries to the DLL search path gh-1745
if "VIRTUAL_ENV" in os.environ:
venv_dir = os.environ["VIRTUAL_ENV"]
# Expect to find file per PEP-0405
expected_file = os.path.join(venv_dir, "pyvenv.cfg")
dll_dir = os.path.join(venv_dir, "Library", "bin")
if os.path.isdir(dll_dir) and os.path.isfile(expected_file):
os.add_dll_directory(dll_dir)