NnmfPack: a versatile approach to an NNMF parallel library

Autores UPV
CONGRESO NnmfPack: a versatile approach to an NNMF parallel library


Non-negative Matrix Factorization (NNMF) has become an essential tool in many fields spanning machine learning, data analysis, image analysis or audio source separation, among others. Due to the computational complexity of this factorization and its consequent high execution times, computationally efficient solutions are required. We introduce NnmfPack, a parallel multi-architecture library including multiple NNMF algorithms, designed to work on both sequential and multi-core computers, as well as Graphics Processing Units (GPUs) and Intel Xeon Phi coprocessors. NnmfPack routines are written in C language using, as appropriate, OpenMP, Intel development technologies or the CUDA suite. These routines are also callable from MATLAB/Octave through MEX (MATLAB Executable) interfaces. The current version is designed for Linux operating systems. This document gives an overview of the library, installation and configuration instructions, examples of use and an initial performance evaluation on multiple parallel architectures.