Skip to content

Installation

Prerequisites

  • Conda (Miniconda or Anaconda)
  • vcpkg installed
  • C++20 compiler:
    • MSVC 2022 (Windows)
    • GCC 11+ (Linux)
    • Clang 14+ (Linux/macOS)
  • (Optional) CUDA >= 12.4 for IPC support
  • (Optional) CUDA toolkit for VBD CUDA backend

Standard Install

# Create conda environment
conda env create -f environment.yml
conda activate novaphy

# Set vcpkg toolchain
export CMAKE_TOOLCHAIN_FILE="/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake"

# Install NovaPhy
pip install -e .
# Create conda environment
conda env create -f environment.yml
conda activate novaphy

# Set vcpkg toolchain
$env:CMAKE_TOOLCHAIN_FILE="C:\path\to\vcpkg\scripts\buildsystems\vcpkg.cmake"

# Install NovaPhy
pip install -e .
conda activate novaphy
CMAKE_ARGS="--preset=default" pip install -e .

With IPC Support

IPC requires libuipc (included as a git submodule) and CUDA >= 12.4.

# Initialize submodules
git submodule update --init --recursive

# Install with IPC
CMAKE_ARGS="--preset=ipc" pip install -e .

With VBD CUDA Backend

CMAKE_ARGS="-DNOVAPHY_WITH_VBD_CUDA=ON -DCMAKE_CUDA_COMPILER=/path/to/nvcc" pip install -e .

Verify Installation

import novaphy
print(novaphy.version())   # 0.1.0
print(novaphy.has_ipc())   # True if built with IPC

Dependencies

Component Source
Eigen3 vcpkg
Google Test vcpkg
pybind11 pip (NOT vcpkg)
scikit-build-core pip
NumPy pip / conda
Polyscope pip (optional, for visualization)

pybind11 via pip, not vcpkg

Always install pybind11 via pip. The vcpkg version conflicts with conda's Python installation.

Next Steps