Skip to content

Commit 973304d

Browse files
harrismfwilliams
andauthored
Installation tutorial (#275)
This updates installation prerequisites and how to install from pip in readme, and updates how to build docs and run gtests. Signed-off-by: Mark Harris <mharris@nvidia.com> --------- Signed-off-by: Mark Harris <mharris@nvidia.com> Signed-off-by: Francis Williams <fwilliams@users.noreply.github.com> Co-authored-by: Francis Williams <fwilliams@users.noreply.github.com>
1 parent 5a66d3c commit 973304d

File tree

2 files changed

+52
-18
lines changed

2 files changed

+52
-18
lines changed

README.md

Lines changed: 52 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,32 +21,53 @@ Lastly, our [documentation](docs) provides deeper details on the concepts as wel
2121

2222
## Installing *f*VDB
2323

24-
During the project's initial development stages, it is necessary to [run the build steps](#building-fvdb-from-source) to install ƒVDB. Eventually, ƒVDB will be provided as a pre-built, installable package. We support building the latest ƒVDB version for the following library configurations:
24+
The `fvdb_core` Python package can be installed either using published packages with pip or built
25+
from source.
2526

26-
| PyTorch | Python | CUDA |
27-
| -------------- | ----------- | ------------ |
28-
| 2.8.0-2.9.0 | 3.10 - 3.13 | 12.8 - 13.0 |
27+
### Platform Requirements
2928

29+
#### Software
3030

31+
fVDB is currently supported on the matrix of dependencies in the following table.
3132

32-
** Notes:**
33-
* Linux is the only platform currently supported (Ubuntu >= 22.04 recommended).
34-
* A CUDA-capable GPU with Ampere architecture or newer (i.e. compute capability >=8.0) is recommended to run the CUDA-accelerated operations in ƒVDB. A GPU with compute capabililty >=7.0 (Volta architecture) is the minimum requirement but some operations and data types are not supported.
33+
| OS | PyTorch | Python | CUDA |
34+
| ---------- | ----------- | ----------- | ----------- |
35+
| Linux Only | 2.8.0-2.9.0 | 3.10 - 3.13 | 12.8 - 13.0 |
3536

37+
#### Hardware
38+
39+
A CUDA-capable GPU with Ampere architecture or newer (i.e. compute capability >=8.0) is recommended
40+
to run the CUDA-accelerated operations in ƒVDB. A GPU with compute capabililty >=7.0 (Volta) is the
41+
minimum requirement but some operations and data types are not supported.
42+
43+
### Package Installation with pip
44+
45+
Currently, pip wheels are built with PyTorch 2.8 and CUDA 12.8 only. Versions for Python 3.10-3.13
46+
are provided.
47+
48+
Install fvdb_core using the following pip command.
49+
50+
```
51+
pip install fvdb_core==0.3.0+pt28.cu129 --extra-index-url="https://d36m13axqqhiit.cloudfront.net/simple" torch==2.8
52+
```
3653

3754
## Building *f*VDB from Source
3855

3956
### Environment Management
40-
ƒVDB is a Python library implemented as a C++ PyTorch extension. Of course you can build ƒVDB in whatever environment suits you, but we provide three distinct paths to constructing reliable environments for building and running ƒVDB. These are separate options and are not intended to be used together.
41-
42-
1. **RECOMMENDED** [conda](#option-1-conda-environment-recommended)
43-
2. Using [Docker](#option-2-docker-container)
44-
3. [Python virtual environment](#option-3-python-virtual-environment)
4557

46-
`conda` tends to be more flexible since reconfiguring toolchains and modules to suit your larger project can be dynamic, but at the same time this can be a more brittle experience compared to using a virtualized `docker` container. Using `conda` is generally recommended for development and testing, while using `docker` is recommended for CI/CD and deployment.
58+
ƒVDB is a Python library implemented as a C++ Pytorch extension. We provide three paths to
59+
constructing reliable environments for building and running ƒVDB. These are separate options not
60+
intended to be used together (however with modification you can of course use, for example, a conda
61+
or pip environment inside a docker container).
4762

48-
---
63+
1. **RECOMMENDED** [conda](#option-1-setting-up-a-conda-environment-recommended)
64+
2. Using [docker](#option-2-setting-up-a-docker-container)
65+
3. Python virtual environment. [venv](#option-3-setting-up-a-python-virtual-environment)
4966

67+
`conda` tends to be more flexible since reconfiguring toolchains and modules to suit your larger
68+
project can be dynamic, but at the same time this can be a more brittle experience compared to using
69+
a virtualized `docker` container. Using `conda` is generally recommended for development and
70+
testing, while using `docker` is recommended for CI/CD and deployment.
5071

5172
#### **OPTION 1** Conda Environment (Recommended)
5273

@@ -148,7 +169,18 @@ or if you would like to build a packaged wheel for installing in other environme
148169

149170
### Running Tests
150171

151-
To make sure that everything works by running tests:
172+
#### C++ Tests
173+
174+
To run the gtest C++ unit tests
175+
176+
```shell
177+
./build.sh ctest
178+
```
179+
180+
#### Python Tests
181+
182+
To run the pytests
183+
152184
```shell
153185
cd tests
154186
pytest unit
@@ -158,10 +190,13 @@ pytest unit
158190

159191
To build the documentation, simply run:
160192
```shell
161-
python setup.py build_ext --inplace
162-
sphinx-build -E -a docs/ build/sphinx
193+
sphinx-build ./docs -a -E build/sphinx
163194
# View the docs
164195
open build/sphinx/index.html
196+
# View docs as served
197+
cd build/sphinx
198+
python -m http.server
199+
# Open localhost:8000 in browser
165200
```
166201

167202
### Setting up Intellisense with clangd in Visual Studio Code

docs/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ spatial intelligence research and applications.
7373
:maxdepth: 1
7474
:caption: Basic Concepts
7575

76-
7776
.. toctree::
7877
:maxdepth: 1
7978
:caption: API References

0 commit comments

Comments
 (0)