Third-Party Dependencies¶
The majority of third-party dependencies are open-source and available from public internet endpoints. Table 3 contains details for each dependency including the version, license, and description of usage by the uPSP software.
The only current commercial dependency is the Message Passing Interface (MPI) implementation used for operation of the uPSP software on the National Advanced Supercomputing (NAS) cluster at NASA Ames. The dependency is via shared library linking at build time and is required for leveraging parallelization across NAS cluster nodes. Prior to release of uPSP source code to non-NAS environments, this dependency will be revisited to identify proper alternatives (there are open-source MPT/MPI implementations available, however, they are not needed in the NAS environment).
Name |
Version |
License |
Description of usage |
---|---|---|---|
1.68.0 |
C++ routines for efficient data structure manipulation (e.g., array iterators) |
||
3.20.5 |
Build system for uPSP project |
||
3.3.9 |
Header-only software dependency, used for high-performance linear algebra and matrix mathematics |
||
8.2 |
Compiler used to build C/C++ uPSP applications (usage is covered under GPLv3 GCC runtime exception) |
||
1.0.0 |
GNU implementation of the OpenMP specification, for parallelization of uPSP processing (usage is covered under the GPLv3 GCC runtime exception) |
||
1.11.0 |
Unit testing for C/C++ uPSP applications as part of the uPSP build system. |
||
1.12.0 |
Some uPSP output data artifacts are encoded in the HDF5 format. |
||
3.9.1 |
Header-only software dependency, used for parsing JSON files. |
||
0.5.7 |
C library for working with KD-trees, used as part of the camera-to-model data projection process. |
||
3.3.2 |
Plotting routines for Python uPSP applications. |
||
1.19.2 |
Scientific computing for Python uPSP applications. |
||
4.5.2 |
Computer vision processing (image registration and p ost-processing). |
||
2.5.0 |
The IlmBase library (component of OpenEXR) is used for high-performance raycasting as part of the camera-to-model data projection process. |
||
3 |
High-performance raycasting as part of the camera-to-model data projection process. Several source code files from the pbrt project are copied + modified and distributed as part of the uPSP source code. |
||
3.7.9 |
The Python interpreter is a necessary system dependency for running some uPSP pipeline applications. (The Python interpreter itself is not modified or redistributed as part of the release.) |
||
1.6.0 |
Scientific computing for Python uPSP applications. |
||
2.17 |
Commercial License |
uPSP software built for deployment on the NASA Advanced Supercomputing (NAS) facility leverages the NAS-provided commercial implementation of the MPI 1.1 specification for scaling of parallel processing across the NAS cluster nodes. The library is linked to uPSP applications as a shared library. |