Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable Embree build with SYCL support and OneAPI 2024.1.0 #6808

Merged
merged 36 commits into from
Nov 20, 2024
Merged
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
cd841a8
Build Embree with SYCL support and OneAPI 2024.1.0
lumurillo May 31, 2024
97402f9
Add correct compiler for embree SYCL
lumurillo Jun 24, 2024
5d90e33
Add embree dependency change
lumurillo Jul 2, 2024
c799893
Fix embree linking error
ssheorey Jul 12, 2024
f3bde48
Fix SYCL demo typo
lumurillo Jul 26, 2024
d37e8c1
Fix ubuntu CI
lumurillo Jul 26, 2024
667dc18
Fix code style
lumurillo Jul 26, 2024
94c0f0f
Fix python virtualenv in Dockerfile
lumurillo Aug 2, 2024
f1515e2
Update oneAPI version to SYCL shared process
lumurillo Aug 2, 2024
bd02607
Add initial SYCL support to RayCastingScene class
lumurillo Aug 17, 2024
2557482
Add SYCL support to CountIntersections function
lumurillo Aug 19, 2024
2689d45
Provide SYCL support to list intersections functions WIP
lumurillo Sep 21, 2024
048008c
Remove open3d python virtualenv from Dockerfile
lumurillo Oct 4, 2024
84f0ef9
Merge branch 'main' of github.com:isl-org/Open3D into lumurillo/use-o…
ssheorey Oct 4, 2024
e25a9b7
Fix no tbb target with BUILD_SYCL_MODULE
ssheorey Oct 9, 2024
d3e68ea
Add array utils functions
lumurillo Oct 12, 2024
09860d0
Set the SYCL ArrayPartialSum as a sequential implementation
lumurillo Oct 13, 2024
487596f
Make the ListIntersections function work on SYCL
lumurillo Oct 20, 2024
975e7f0
Fix ListInteractions SYCL kernel
lumurillo Oct 25, 2024
c0c2aea
Add list intersections test
lumurillo Oct 26, 2024
278295c
Prepare ComputeClosestPoints for SYCL implementation
lumurillo Nov 2, 2024
aa437b6
Add SYCL enable parameter to list_devices
lumurillo Nov 5, 2024
1eec474
Fix SYCL version of CountIntersections function
lumurillo Nov 5, 2024
2c98133
Fix Dockerfile
lumurillo Nov 9, 2024
7b34720
Fix code style
lumurillo Nov 9, 2024
6284e3d
Simplify RayCastingScene constructor
lumurillo Nov 9, 2024
460e3f7
Move enable JIT cache function to SYCL utils
lumurillo Nov 14, 2024
8da0afc
Do not change the SYCL cache dir
lumurillo Nov 14, 2024
8dbb6fa
test RaycastingScene.add_triangles with TriangleMesh
benjaminum Nov 17, 2024
23b8c7d
create objects for testing with tensor TriangleMesh
benjaminum Nov 18, 2024
4b81b70
Fix possible memory leak in SYCL implementation of RayCastingScene
lumurillo Nov 19, 2024
5b6a6de
Fix code style
lumurillo Nov 19, 2024
b2689cb
Use STL functions in CPU array operations for RayCastingScene
lumurillo Nov 19, 2024
239ccf8
Move comment
lumurillo Nov 19, 2024
9ef538a
Do not include CUDA devices in raycast tests.
ssheorey Nov 19, 2024
e3baed6
Convert deprecated SYCL 1.2 code to SYCL 2020
ssheorey Nov 20, 2024
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
Next Next commit
Build Embree with SYCL support and OneAPI 2024.1.0
  • Loading branch information
lumurillo committed Oct 4, 2024
commit cd841a81e361f757865ecc16de76f265b37422e0
5 changes: 5 additions & 0 deletions 3rdparty/embree/embree.cmake
Original file line number Diff line number Diff line change
@@ -64,6 +64,11 @@ else()
endif()


if(BUILD_SYCL_MODULE)
set(ISA_ARGS -DEMBREE_SYCL_SUPPORT=ON)
endif()


ExternalProject_Add(
ext_embree
PREFIX embree
5 changes: 4 additions & 1 deletion docker/Dockerfile.ci
100644 → 100755
Original file line number Diff line number Diff line change
@@ -191,9 +191,11 @@ RUN \
export CMAKE_CXX_COMPILER=icpx; \
export CMAKE_C_COMPILER=icx; \
export GLIBCXX_USE_CXX11_ABI=ON; \
export BUILD_ISPC_MODULE=OFF; \
else \
export CMAKE_CXX_COMPILER=g++; \
export CMAKE_C_COMPILER=gcc; \
export BUILD_ISPC_MODULE=ON; \
# TODO: PyTorch still use old CXX ABI, remove this line when PyTorch is updated
if [ "$BUILD_PYTORCH_OPS" = "ON" ]; then \
export GLIBCXX_USE_CXX11_ABI=OFF; \
@@ -208,11 +210,12 @@ RUN \
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} \
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} \
-DBUILD_SYCL_MODULE=${BUILD_SYCL_MODULE} \
-DBUILD_ISPC_MODULE=${BUILD_ISPC_MODULE} \
-DDEVELOPER_BUILD=${DEVELOPER_BUILD} \
-DBUILD_LIBREALSENSE=ON \
-DBUILD_CUDA_MODULE=${BUILD_CUDA_MODULE} \
-DBUILD_COMMON_CUDA_ARCHS=ON \
-DBUILD_COMMON_ISPC_ISAS=ON \
-DBUILD_COMMON_ISPC_ISAS=${BUILD_ISPC_MODULE} \
-DGLIBCXX_USE_CXX11_ABI=${GLIBCXX_USE_CXX11_ABI} \
-DBUILD_TENSORFLOW_OPS=${BUILD_TENSORFLOW_OPS} \
-DBUILD_PYTORCH_OPS=${BUILD_PYTORCH_OPS} \
8 changes: 4 additions & 4 deletions docker/docker_build.sh
Original file line number Diff line number Diff line change
@@ -76,7 +76,7 @@ HOST_OPEN3D_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")"/.. >/dev/null 2>&1 && pw

# Shared variables
CCACHE_VERSION=4.3
CMAKE_VERSION=cmake-3.24.4-linux-x86_64
CMAKE_VERSION=cmake-3.29.2-linux-x86_64
CMAKE_VERSION_AARCH64=cmake-3.24.4-linux-aarch64
CUDA_VERSION=11.7.1-cudnn8
CUDA_VERSION_LATEST=11.8.0-cudnn8
@@ -437,7 +437,7 @@ sycl-shared_export_env() {

# https://hub.docker.com/r/intel/oneapi-basekit
# https://github.com/intel/oneapi-containers/blob/main/images/docker/basekit/Dockerfile.ubuntu-20.04
export BASE_IMAGE=intel/oneapi-basekit:2022.2-devel-ubuntu20.04
export BASE_IMAGE=intel/oneapi-basekit:2024.1.0-devel-ubuntu20.04
export DEVELOPER_BUILD=ON
export CCACHE_TAR_NAME=open3d-ci-sycl
export PYTHON_VERSION=3.8
@@ -453,8 +453,8 @@ sycl-static_export_env() {
export DOCKER_TAG=open3d-ci:sycl-static

# https://hub.docker.com/r/intel/oneapi-basekit
# https://github.com/intel/oneapi-containers/blob/main/images/docker/basekit/Dockerfile.ubuntu-20.04
export BASE_IMAGE=intel/oneapi-basekit:2022.2-devel-ubuntu20.04
# https://github.com/intel/oneapi-containers/blob/main/images/docker/basekit/Dockerfile.ubuntu-18.04
export BASE_IMAGE=intel/oneapi-basekit:2024.1.0-devel-ubuntu20.04
export DEVELOPER_BUILD=ON
export CCACHE_TAR_NAME=open3d-ci-sycl
export PYTHON_VERSION=3.8