OpenNL - Open Numerical Library
OpenNL is a standalone library for numerical optimization, especially well-suited to mesh processing. The API is inspired by the graphics API OpenGL, this makes the learning curve easy for computer graphics practitioners. The included demo program implements our LSCM  mesh unwrapping method. It was integrated in Blender by Brecht Van Lommel and others to create automatic texture mapping methods. More recently, they implemented our ABF++ method  (developed in cooperation with University of British Columbia). It will shortly include the more recent linear ABF, that we developed in cooperation with Rhaleb Zayer (who was at that time with Max Planck Institute for Informatik). Our mesh unwrapping algorithms have now become the de-facto standard for mesh unwrapping in several industrial mesh modeling packages (including Maya, Silo, Catia). OpenNL is extended with two specialized modules :
CGAL parameterization package : this software library, developed in cooperation with Pierre Alliez and Laurent Saboret, is a CGAL package for mesh parameterization. It includes a special, generic version of OpenNL, compatible with CGAL requirements of genericity.
Concurrent Number Cruncher : this software library extends OpenNL with parallel computing on the GPU, implemented using the CUDA API.
This year, we merged the GPU solver Concurrent Number Cruncher with the main software trunk of OpenNL to have a single API for both solvers. We also extended the GPU solver to use the new functionalities of GPUs, that now support floating point numbers in double precision.