Skip to content

Dependencies and foundation libraries for Karl's graphics projects

Notifications You must be signed in to change notification settings

betajippity/Nuparu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nuparu

v0.9.24.20

Third Party dependencies and foundation libraries for Karl's graphics projects

Nuparu currently consists of:

Notes:

  • On all platforms, all binary libraries except for TBB are statically linked.
  • x86-64 builds are included for macOS, Windows, and RHEL 9.x (Linux-GCC12), and Fedora 39 (Linux-GCC13).
  • arm64 builds are included for macOS, Windows, Fedora 39 (Linux-ARM), and NVIDIA L4T 32.6.1 (Linux-L4T, which is based on and should be largely compatible with Ubuntu 18.04).
  • macOS builds are provided as Universal Binaries incorporating arm64 and x86-64 versions into single libraries instead of separate library files per architecture.
  • Everything is built using C++14 or newer.
  • The version of TBB included uses the standard STL, not the Intel Parallel STL implementation.
  • Nuparu does not contain the entirety of Boost; instead, only a subset of Boost required for OpenVDB is included.
  • RMSD has minor modifications for C++ support.
  • On x86-64, Embree is built using ispc with support for up to SSE4.2. No AVX support is included. On arm64 for Mac/Linux, Embree is built with NEON 2X support. On arm64 for Windows, Embree is built with NEON 1X support and without ispc.
  • Embree is built with a max nested instancing depth of 16.
  • Embree currently is built without SYCL support; this will be added later.
  • OpenEXR is built without version numbers in namespaces.
  • OpenSubdiv is built with Ptex, TBB, and OpenGL support on all platforms. Additionally:
    • CUDA is supported on Windows x86-64, Fedora 39 x86-64, L4T, and RHEL 9.x
    • Metal is supported on macOS
    • OpenSubdiv has been modified to work with OneTBB
  • blosc is built without AVX2 support.
  • OpenVDB is built without ABI compatibility for OpenVDB 3.x.x and without explicit instantiation.
  • NanoVDB is built with CUDA support.
  • dear imgui includes the core imgui library and the GLFW3/OpenGL3 and AppKit/Metal implementation files.
  • Only a subset of boost necessary to support OpenVDB and USD is included.
  • For boost, the following versions of Python are supported:
    • On macOS, Python 3.11 from MacPorts
    • On Fedora 39, the default system Python 3.12
    • On RHEL, the default system Python 3.9
    • On L4T, the default system Python 3.6
    • Python support is not provided on Windows
  • ZMQ is built with draft API support, without Websockets, without TLS support, and without libbsd
  • macOS libraries require at minimum macOS Sonoma and macOS's Clang variant (Apple LLVM 15 or greater) with libc++.
  • Windows libraries require at minimum Windows 11 and Visual Studio 2022 with \mt.
  • Linux libraries require at minimum either Fedora 39, Red Hat Enterprise Linux (RHEL) 9.x, or NVIDIA L4T 32.6.1.
    • RHEL 9.x libraries require GCC 12.x on x86-64 and are in lib/linux-gcc12
    • Fedora 39 libraries require GCC 13.x on x86-64 and are in lib/linux-gcc13
    • Fedora 39 libraries require GCC 13.x on ARM arm64 and are in lib/linux-arm
    • L4T libraries require GCC 7.5.x and are in lib/linux-l4t
  • Things with CUDA support are built using CUDA 12.1, except on L4T, in which case CUDA 10.2 is used
  • Licenses for each library are included either in each library's include/ directory, or in source files directly.