Skip to content

Commit 8911d66

Browse files
committed
try to create vulkan device on init and fail with nicer error if we can't
Signed-off-by: Francis Williams <francis@fwilliams.info>
1 parent b5c3091 commit 8911d66

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

fvdb/viz/_viewer_server.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,18 @@ def init(ip_address: str = "127.0.0.1", port: int = 8080, vk_device_id: int = 0,
5858
"""
5959
global _viewer_server_cpp
6060
if _viewer_server_cpp is None:
61+
import nanovdb_editor as editor
62+
63+
compiler = editor.Compiler()
64+
compute = editor.Compute(compiler)
65+
di = compute.device_interface()
66+
di.create_device_manager(enable_validation=False)
67+
try:
68+
di.create_device(device_index=vk_device_id, enable_external_usage=False)
69+
except Exception as e:
70+
raise RuntimeError(
71+
f"Failed to create Vulkan device with ID {vk_device_id}. You may have an incompatible version of Vulkan installed."
72+
) from e
6173
_viewer_server_cpp = ViewerCpp(ip_address=ip_address, port=port, device_id=vk_device_id, verbose=verbose)
6274
else:
6375
warnings.warn(

0 commit comments

Comments
 (0)