NMFPack was conceived for efficiently solving Non-negative matrix factorization problems. NMFPack is a collection of numerical routines written in C/CUDA. NMFPack was designed for Linux environments, and optimized for shared memory architectures, including standard multicore x86 architecture (CPU), Intel Xeon Phi (Intel MIC architecture) and NVIDIA Fermi/Kepler architectures. OpenMP, CUDA and Intel's tools have been used in its development. It also provides executable examples for solving problems directly from the command line and .mex files for using the routines in Matlab and GNU Octave.

NMFPack is a freely-available software package. The license used for the software is the modified BSD license. Like all software, it is copyrighted. It is not trademarked, but if you modify the source for these routines we ask that you change the name of the routine and comment the changes made to the original. If a modification is done, however, it is the responsibility of the person who modified the routine to provide support.

The current version is available from Gitlab.

Doxygen-Style documentation is available Here, and a PDF file from here.