CUDA-accelerated sparse tensor engine for C++ with adaptive resolution voxels and 3D Gaussian splats
376
GPU-accelerated sparse tensor computing for native C++.
RiemannEngine is a native C++ library for high-performance sparse tensor operations, adaptive voxelization, Gaussian splatting, and GPU-accelerated machine learning.
The official Docker images provide a preconfigured development environment with CUDA, LibTorch, and a precompiled RiemannEngine library. Build and run applications without manually installing or configuring the CUDA toolchain.
Full Documentation | GitHub Repository | Docker Hub
| Tag | CUDA | LibTorch | Ubuntu |
|---|---|---|---|
latest, cu134 | 13.4.3 | 2.15.0 | 24.04 |
cu132 | 13.2.1 | 2.15.0 | 24.04 |
cu124 | 12.4.0 | 2.5.1 | 22.04 |
Version-specific tags such as 1.0.0-cu134 are also available.
Images include the complete development toolchain and are approximately 21 GB.
Published images are compiled for SM 8.6, with compatibility for supported RTX 30/40-series GPUs and related architectures.
Other GPU architectures may require rebuilding the image with the appropriate CUDA architecture flags.
Host requirements:
See the GPU compatibility and installation guide for details.
docker pull acaicia/riemannengine:latest
docker run --rm --gpus all acaicia/riemannengine:latest nvidia-smi
Linux / WSL:
docker run --gpus all --rm -it \
-v "$(pwd):/workspace" \
acaicia/riemannengine:latest
Windows PowerShell:
docker run --gpus all --rm -it -v "${PWD}:/workspace" acaicia/riemannengine:latest
Your local project is mounted at /workspace, and the container includes everything needed to compile and execute RiemannEngine applications.
RiemannEngine provides a CMake package for integration into existing projects.
Example CMakeLists.txt:
cmake_minimum_required(VERSION 3.18)
project(my_riemann_app LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Torch REQUIRED)
find_package(RiemannEngine 1.0 CONFIG REQUIRED)
add_executable(my_riemann_app main.cpp)
target_link_libraries(my_riemann_app PRIVATE RiemannEngine::RiemannEngine)
Build inside the container:
cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH=/opt/libtorch
cmake --build build
./build/my_riemann_app
The installed CMake target automatically links the RiemannEngine library and its configured dependencies.
| Location | Description |
|---|---|
/usr/local/include/riemann/ | C++ headers |
/usr/local/lib/libriemann_cpp.a | Precompiled static library |
/usr/local/lib/cmake/RiemannEngine/ | CMake integration |
/opt/libtorch/ | LibTorch installation |
/usr/local/cuda/ | CUDA toolkit |
/workspace/ | Default project directory |
CUDA and LibTorch library paths are preconfigured.
To compile RiemannEngine for additional GPU architectures, clone the repository and build a custom Docker image.
git clone https://github.com/QuiteLiterallyConnor/RiemannEngine.git
cd RiemannEngine
docker build -f docker/Dockerfile \
-t riemannengine:custom \
--build-arg CUDA_VERSION=134 \
--build-arg CUDA_ARCHITECTURES="86;89;120" \
--build-arg JOBS=8 .
Adjust CUDA_ARCHITECTURES for your hardware.
| Issue | Solution |
|---|---|
| GPU unavailable | Enable GPU access with --gpus all |
| CUDA driver mismatch | Update NVIDIA driver or use an older CUDA tag |
| No kernel image available | Rebuild for your GPU architecture |
| Torch not found | Set -DCMAKE_PREFIX_PATH=/opt/libtorch |
| Slow Windows builds | Store projects inside the WSL filesystem |
| Permission errors on Linux | Run the container with your host UID/GID |
The complete documentation includes installation instructions, API references, examples, adaptive voxelization, Gaussian operations, custom CUDA builds, deployment, and troubleshooting.
RiemannEngine: Native C++ sparse computing, adaptive geometry, and GPU acceleration in one development environment.
Content type
Image
Digest
sha256:df467b9e8…
Size
7 GB
Last updated
10 days ago
docker pull acaicia/riemannengine