fix supports_device() in python interface #22473
Open
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
get_device()
returns a string of hyphen connected device names, such as "GPU-DML". It's a problem that when CUDA is disabled but OpenVino GPU is enabled in the build, because in this caseget_device()
returns "CPU-OPENVINO_GPU", sosupports_device("CUDA")
will returnTrue
in this build.Splitting the value of
get_device()
by "-" and check if the input is in the list is not an option because it seems some code in the code base stores the value ofget_device()
and use the value to callsupports_device()
. Using this implementation will causesupports_device("GPU-DML")
to returnFalse
for a build withget_device() == "GPU-DML"
because"GPU-DML" in ["GPU", "DML"]
isFalse
.This change also helps to avoid further problems when "WebGPU" is introduced.