You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been looking into the new SYCL support in v0.19 (using this wheel) and managed to get everything set up to the point where o3d.core.sycl.print_sycl_devices(print_all=True) gives me a green light:
However, I verified that the raycasting example runs on CPU (no GPU load in intel_gpu_top) by default. So I tried explicitly setting the device - which fails. What am I doing wrong here?
Steps to reproduce the bug
importopen3daso3dimportmatplotlib.pyplotaspltforiinrange(1000):
cube=o3d.t.geometry.TriangleMesh.from_legacy(
o3d.geometry.TriangleMesh.create_box())
device=Device("ext_oneapi_level_zero:gpu")
# Create scene and add the cube meshscene=o3d.t.geometry.RaycastingScene(device=device)
scene.add_triangles(cube)
# Rays are 6D vectors with origin and ray direction.# Here we use a helper function to create rays for a pinhole camera.rays=scene.create_rays_pinhole(fov_deg=60,
center=[0.5,0.5,0.5],
eye=[-1,-1,-1],
up=[0,0,1],
width_px=3200,
height_px=2400)
# Compute the ray intersections.ans=scene.cast_rays(rays)
# Visualize the hit distance (depth)plt.imshow(ans['t_hit'].numpy())
Error message
RuntimeError: [Open3D Error] (void open3d::t::geometry::RaycastingScene::SYCLImpl::InitializeDevice()) /root/Open3D/cpp/open3d/t/geometry/RaycastingScene.cpp:459: Caught exception creating sycl::device: No device of requested type available. Please check https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-dpcpp-system-requirements.html -1 (PI_ERROR_DEVICE_NOT_FOUND)
Expected behavior
Open3D uses the SYCL:0 device and generates load on the GPU.
Open3D, Python and System information
- Operating system: Ubuntu 24.04
- Python version: Python 3.12.3
- Open3D version: output from python: 0.19.0
- System architecture: amd64
- Is this a remote workstation?: yes
- How did you install Open3D?: Remote wheel via `uv`
The text was updated successfully, but these errors were encountered:
Hi @fabiannagel You need a GPU with HW raycasting support for this. I believe it's only the Arc / Xe series GPUs (discrete or integrated) that have this support. I'll update the docs to make this clear.
Checklist
main
branch).Describe the issue
I've been looking into the new SYCL support in v0.19 (using this wheel) and managed to get everything set up to the point where
o3d.core.sycl.print_sycl_devices(print_all=True)
gives me a green light:Also:
However, I verified that the raycasting example runs on CPU (no GPU load in
intel_gpu_top
) by default. So I tried explicitly setting the device - which fails. What am I doing wrong here?Steps to reproduce the bug
Error message
Expected behavior
Open3D uses the SYCL:0 device and generates load on the GPU.
Open3D, Python and System information
The text was updated successfully, but these errors were encountered: