NMFPack

Non-negative matrix factorization toolkit in C/CUDA

License modified BSD license.

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.

Features

  • Efficient Non-negative Matrix Factorization (NMF) routines.
  • C/CUDA implementation; OpenMP + CUDA optimizations.
  • Targets shared-memory systems (multicore x86, Intel Xeon Phi, NVIDIA GPUs).
  • CLI examples included.
  • MATLAB/GNU Octave integration via .mex files.

Downloads