nerfstudio-project / gsplat

CUDA accelerated rasterization of gaussian splatting
https://docs.gsplat.studio/
Apache License 2.0
2.3k stars 299 forks source link

Inquire about running on the Jetson platform #414

Open TryTwoTop opened 2 months ago

TryTwoTop commented 2 months ago

Hi, thank you so much for developing such a great project!

I am currently trying to get your project running on the Jetson AGX Orin Developer Kit 64GB. While looking over your project, I realized that with some modifications to the code below, I think I can get it to run on the Jetson platform:

Linux-env.sh

I was wondering if anyone has experience running this project on the Jetson platform, and if there are any modifications I could make to make it compatible with ARM-based systems like the Jetson AGX Orin, any advice or experience you could share would be very helpful.

I'm trying to figure out what I need to do myself, but if there are any CUDA-related settings or additional things I need to consider, I'd appreciate any advice.

Thanks again, and I look forward to hearing back!

Best regards.

deanziyangyu commented 2 months ago

Was looking for an answer to the same question before I tried installing gsplat on a Jetson device.

I am using a last generation Jetson AGX Xavier 16GB (with CUDA compute capability == 7.2), running JetPack 5.1.3, CUDA 11.4, python 3.8.19, Pytorch 2.0.0 using Nvidia wheel for JetPack5.1 at https://developer.download.nvidia.com/compute/redist/jp/v51/pytorch/. I used anaconda for some aarch64 dependencies.

For gsplat I simply did pip install git+https://github.com/nerfstudio-project/gsplat.git per the repo readme with no code change or environment flag settings, and the Jetson managed to install the wheel after around 1 hour of building.

The installation seems to work well out of the box, other than commenting out a few torch.distributed imports not available in torch 2.0.0. I have tried image_fitting.py in the example directory and my own project code without an issue. Rasterization performance is also in line with the expectation of the device.

Hope this helps.

Xanthorapedia commented 3 weeks ago

Was able to build and (kind of) run benchmarks/basic.sh on Jetson Orin Nano 8GB (Jetpack 6.1, CUDA 12.6, torch==2.3.0+cu12.4).

gsplat built successfully out of box in 20-30min with 4 threads. However, pip install -r examples/requirements.txt threw cmake/compile error when trying to install manifold3d and vhacdx (dependencies of viser and nerfview), which was resolved by cloning the respective repos and pip install -e . for each.

After that, without any change, benchmarks/basic.sh runs until iteration 3800 before OOM.