Skip to content

Commit

Permalink
Use CUDA 12.1 everywhere. Final cleanup.
Browse files Browse the repository at this point in the history
Update and sort library list in 3rdparty/README.md
  • Loading branch information
ssheorey committed Oct 4, 2024
1 parent b6cc832 commit 712412f
Show file tree
Hide file tree
Showing 8 changed files with 99 additions and 100 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ jobs:
uses: actions/checkout@v4
with:
repository: isl-org/Open3D-ML
ref: ss/python-3.12 # remove before merge
ref: main
path: ${{ env.OPEN3D_ML_ROOT }}

- name: Download wheels
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ env:
STOOLS_VER: "67.3.2"
JEDI_VER: "0.17.2" # https://github.com/ipython/ipython/issues/12740
IDNA_VER: "2.8" # https://github.com/psf/requests/issues/5710
CUDA_VERSION: "11.8.0"
CUDA_VERSION: "12.1.0"
SRC_DIR: "D:\\a\\open3d\\open3d"
BUILD_DIR: "C:\\Open3D\\build"
NPROC: 2
Expand Down
180 changes: 92 additions & 88 deletions 3rdparty/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,134 +8,138 @@ system dependencies.

```txt
--------------------------------------------------------------------------------
benchmark 1.5.5 Apache-2 license
A microbenchmark support library
https://github.com/google/benchmark
--------------------------------------------------------------------------------
boringssl: edfe413 Dual OpenSSL, SSLeay, ISC license
BoringSSL is a fork of OpenSSL that is designed to meet Google's needs.
https://github.com/google/boringssl
--------------------------------------------------------------------------------
CUB 1.8.0 BSD license
A flexible library of cooperative threadblock primitives and other utilities for
CUDA kernel programming
https://github.com/NVlabs/cub
--------------------------------------------------------------------------------
cppzmq 4.6.0 MIT license
Header-only C++ binding for libzmq
https://github.com/zeromq/cppzmq
As an alternative, you can modify 3rdparty/zeromq/zeromq_build.cmake to fetch
zeromq from our fork
https://github.com/isl-org/libzmq
--------------------------------------------------------------------------------
curl 7.88.0 Curl license
Curl is a command-line tool for transferring data specified with URL syntax.
https://github.com/curl/curl
--------------------------------------------------------------------------------
CUTLASS 1.3.3 BSD license
CUDA Templates for Linear Algebra Subroutines
https://github.com/NVIDIA/cutlass
--------------------------------------------------------------------------------
dirent 1.21 MIT license
https://github.com/tronkko/dirent
A C/C++ programming interface for cross-platform filesystem
--------------------------------------------------------------------------------
DirectX-Headers v1.606.3 MIT license
Official DirectX headers available under an open source license
https://github.com/microsoft/DirectX-Headers
--------------------------------------------------------------------------------
DirectXMath may2022 MIT license
DirectXMath is an all inline SIMD C++ linear algebra library for use in games
and graphics apps
https://github.com/microsoft/DirectXMath
--------------------------------------------------------------------------------
Eigen 3.4 Mainly MPL2 license
A high-level C++ library of template headers for linear algebra, matrix and
vector operations, numerical solvers and related algorithms
http://eigen.tuxfamily.org/
--------------------------------------------------------------------------------
GLFW 3.3.0 (dev) zlib/libpng license
A cross-platform library for creating windows with OpenGL contexts and receiving
input and events
http://www.glfw.org/
embree 4.3.1 Apache-2 license
Embree is a collection of high-performance ray tracing kernels
https://github.com/embree/embree
--------------------------------------------------------------------------------
flann 1.8.4 BSD license
A C++ library for performing fast approximate nearest neighbor searches in high
dimensional spaces
http://www.cs.ubc.ca/research/flann/
--------------------------------------------------------------------------------
GLEW 2.1.0 MIT License
A cross-platform open-source C/C++ extension loading library
http://glew.sourceforge.net/
--------------------------------------------------------------------------------
RPly 1.1.3 MIT license
A library to read and write PLY files
http://w3.impa.br/~diego/software/rply/
--------------------------------------------------------------------------------
zlib 1.2.8 zlib license
A lossless data-compression library used by libpng
http://www.zlib.net/
--------------------------------------------------------------------------------
libpng 1.6.18 libpng license
The free reference library for reading and writing PNGs
http://www.libpng.org/
--------------------------------------------------------------------------------
libjpeg 9a libjpeg license
A widely used C library for reading and writing JPEG image files
http://libjpeg.sourceforge.net/
GLFW 3.3.0 (dev) zlib/libpng license
A cross-platform library for creating windows with OpenGL contexts and receiving
input and events
http://www.glfw.org/
--------------------------------------------------------------------------------
jsoncpp 1.8.4 MIT license
A C++ library that allows manipulating JSON values
https://github.com/open-source-parsers/jsoncpp
--------------------------------------------------------------------------------
flann 1.8.4 BSD license
A C++ library for performing fast approximate nearest neighbor searches in high
dimensional spaces
http://www.cs.ubc.ca/research/flann/
libjpeg-turbo 2.1.5.1 BSD-style license
A widely used C library for reading and writing JPEG image files
https://github.com/libjpeg-turbo/libjpeg-turbo
--------------------------------------------------------------------------------
dirent 1.21 MIT license
https://github.com/tronkko/dirent
A C/C++ programming interface for cross-platform filesystem
libpng 1.6.37 libpng license
The free reference library for reading and writing PNGs
http://www.libpng.org/
--------------------------------------------------------------------------------
librealsense 2.44.0 Apache-2 license
A cross-platform library for capturing data from the Intel RealSense F200,
SR300, R200 and L500 cameras
https://github.com/IntelRealSense/librealsense
--------------------------------------------------------------------------------
tinyfiledialogs 2.7.2 zlib license
A lightweight cross-platform file dialog library
https://sourceforge.net/projects/tinyfiledialogs/
--------------------------------------------------------------------------------
tinygltf v2.2.0 MIT license
Header only C++11 tiny glTF 2.0 library
https://github.com/syoyo/tinygltf
--------------------------------------------------------------------------------
tinyobjloader v1.0.0 MIT license
Tiny but powerful single file wavefront obj loader
https://github.com/syoyo/tinyobjloader
--------------------------------------------------------------------------------
pybind11 v2.13.1 BSD license
Python binding for C++11
https://github.com/pybind/pybind11
--------------------------------------------------------------------------------
PoissonReco 12.0 BSD license
Poisson Surface Reconstruction
https://github.com/mkazhdan/PoissonRecon
libzmq 4.3.3 LGPLv3 + static link exception license
ZeroMQ is a high-performance asynchronous messaging library
https://github.com/zeromq/libzmq
--------------------------------------------------------------------------------
CUB 1.8.0 BSD license
A flexible library of cooperative threadblock primitives and other utilities for
CUDA kernel programming
https://github.com/NVlabs/cub
msgpack-c 3.3.0 Boost Software License 1.0
MessagePack implementation for C and C++
https://github.com/msgpack/msgpack-c/tree/cpp_master
--------------------------------------------------------------------------------
nanoflann 1.3.1 BSD license
A C++11 header-only library for Nearest Neighbor (NN) search with KD-trees
https://github.com/jlblancoc/nanoflann
--------------------------------------------------------------------------------
CUTLASS 1.3.3 BSD license
CUDA Templates for Linear Algebra Subroutines
https://github.com/NVIDIA/cutlass
PoissonReco 12.0 BSD license
Poisson Surface Reconstruction
https://github.com/mkazhdan/PoissonRecon
--------------------------------------------------------------------------------
benchmark 1.5.0 Apache-2 license
A microbenchmark support library
https://github.com/google/benchmark
pybind11 v2.13.1 BSD license
Python binding for C++11
https://github.com/pybind/pybind11
--------------------------------------------------------------------------------
msgpack-c da2fc25f8 Boost Software License 1.0
MessagePack implementation for C and C++
https://github.com/msgpack/msgpack-c/tree/cpp_master
RPly 1.1.3 MIT license
A library to read and write PLY files
http://w3.impa.br/~diego/software/rply/
--------------------------------------------------------------------------------
libzmq 4.3.2 LGPLv3 + static link exception license
ZeroMQ is a high-performance asynchronous messaging library
https://github.com/zeromq/libzmq
stdgpu 1b6a3319 Apache-2.0 license
Efficient STL-like Data Structures on the GPU
https://github.com/stotko/stdgpu/
--------------------------------------------------------------------------------
cppzmq 4.6.0 MIT license
Header-only C++ binding for libzmq
https://github.com/zeromq/cppzmq
As an alternative, you can modify 3rdparty/zeromq/zeromq_build.cmake to fetch
zeromq from our fork
https://github.com/isl-org/libzmq
tinyfiledialogs 2.7.2 zlib license
A lightweight cross-platform file dialog library
https://sourceforge.net/projects/tinyfiledialogs/
--------------------------------------------------------------------------------
embree 4.3.1 Apache-2 license
Embree is a collection of high-performance ray tracing kernels
https://github.com/embree/embree
tinygltf 72f4a55 MIT license
Header only C++11 tiny glTF 2.0 library
https://github.com/syoyo/tinygltf
--------------------------------------------------------------------------------
curl 7.79.1 Curl license
Curl is a command-line tool for transferring data specified with URL syntax.
https://github.com/curl/curl
tinyobjloader v1.0.0 MIT license
Tiny but powerful single file wavefront obj loader
https://github.com/syoyo/tinyobjloader
--------------------------------------------------------------------------------
boringssl: edfe413 Dual OpenSSL, SSLeay, ISC license
BoringSSL is a fork of OpenSSL that is designed to meet Google's needs.
https://github.com/google/boringssl
UVAtlas may2022 MIT license
UVAtlas isochart texture atlas
https://github.com/microsoft/uvatlas
--------------------------------------------------------------------------------
vtk 9.1 BSD license
The Visualization Toolkit (VTK)
https://gitlab.kitware.com/vtk/vtk
--------------------------------------------------------------------------------
DirectX-Headers v1.606.3 MIT license
Official DirectX headers available under an open source license
https://github.com/microsoft/DirectX-Headers
--------------------------------------------------------------------------------
DirectXMath may2022 MIT license
DirectXMath is an all inline SIMD C++ linear algebra library for use in games
and graphics apps
https://github.com/microsoft/DirectXMath
--------------------------------------------------------------------------------
UVAtlas may2022 MIT license
UVAtlas isochart texture atlas
https://github.com/microsoft/uvatlas
zlib 1.2.13 zlib license
A lossless data-compression library used by libpng
http://www.zlib.net/
--------------------------------------------------------------------------------
```

Expand Down
3 changes: 1 addition & 2 deletions docker/Dockerfile.ci
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,7 @@ RUN CCACHE_DIR=$(ccache -p | grep cache_dir | grep -oE "[^ ]+$") \
# Checkout Open3D-ML main branch
# TODO: We may add support for local Open3D-ML repo or pinned ML repo tag
ENV OPEN3D_ML_ROOT=/root/Open3D-ML
# Remove branch before merge
RUN git clone --depth 1 --branch ss/python-3.12 https://github.com/isl-org/Open3D-ML.git ${OPEN3D_ML_ROOT}
RUN git clone --depth 1 https://github.com/isl-org/Open3D-ML.git ${OPEN3D_ML_ROOT}

# Open3D repo
# Always keep /root/Open3D as the WORKDIR
Expand Down
5 changes: 2 additions & 3 deletions docker/Dockerfile.wheel
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# FROM must be called before other ARGS except for ARG BASE_IMAGE
ARG BASE_IMAGE=nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04
ARG BASE_IMAGE=nvidia/cuda:12.1.0-cudnn8-devel-ubuntu20.04
FROM ${BASE_IMAGE}

# Customizable build arguments from cuda.yml
Expand Down Expand Up @@ -98,8 +98,7 @@ RUN which python \
# Checkout Open3D-ML main branch
# TODO: We may add support for local Open3D-ML repo or pinned ML repo tag
ENV OPEN3D_ML_ROOT=/root/Open3D-ML
# Remove branch before merge
RUN git clone --depth 1 --branch ss/python-3.12 https://github.com/isl-org/Open3D-ML.git ${OPEN3D_ML_ROOT}
RUN git clone --depth 1 https://github.com/isl-org/Open3D-ML.git ${OPEN3D_ML_ROOT}

# Open3D C++ dependencies
# Done before copying the full Open3D directory for better Docker caching
Expand Down
2 changes: 1 addition & 1 deletion docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ to install Nvidia Docker to run the CUDA container.
To verify that the Nvidia Docker is working, run:

```bash
docker run --rm --gpus all nvidia/cuda:11.8-base nvidia-smi
docker run --rm --gpus all nvidia/cuda:12.1-base nvidia-smi
```

### ARM64 Docker
Expand Down
2 changes: 1 addition & 1 deletion docs/arm.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ commands:
./docker_build.sh openblas-arm64-py39 # Python 3.9
./docker_build.sh openblas-arm64-py310 # Python 3.10
./docker_build.sh openblas-arm64-py311 # Python 3.11
./docker_build.sh openblas-arm64-py311 # Python 3.12
./docker_build.sh openblas-arm64-py312 # Python 3.12
After running ``docker_build.sh``, you shall see a ``.whl`` file generated the
current directly on the host. Then simply install the ``.whl`` file by:
Expand Down
3 changes: 0 additions & 3 deletions util/ci_utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,6 @@ LOW_MEM_USAGE=${LOW_MEM_USAGE:-OFF}
# ML
TENSORFLOW_VER="2.16.2"
TORCH_VER="2.2.2"
TORCH_CPU_GLNX_VER="${TORCH_VER}+cpu"
TORCH_CUDA_GLNX_VER="${TORCH_VER}+cu118" # match CUDA_VERSION in docker/docker_build.sh
TORCH_MACOS_VER="${TORCH_VER}"
TORCH_REPO_URL="https://download.pytorch.org/whl/torch/"
# Python
PIP_VER="23.2.1"
Expand Down

0 comments on commit 712412f

Please sign in to comment.