{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/mpi-faun-an-mpi-based-framework-for","title":"MPI-FAUN: An MPI-Based Framework for Alternating-Updating Nonnegative Matrix Factorization","arxiv_id":"1609.09154","date":"2016-09-28","proceeding":null,"authors":["Ramakrishnan Kannan","Grey Ballard","Haesun Park"],"abstract":"Non-negative matrix factorization (NMF) is the problem of determining two\nnon-negative low rank factors $W$ and $H$, for the given input matrix $A$, such\nthat $A \\approx W H$. NMF is a useful tool for many applications in different\ndomains such as topic modeling in text mining, background separation in video\nanalysis, and community detection in social networks. Despite its popularity in\nthe data mining community, there is a lack of efficient parallel algorithms to\nsolve the problem for big data sets.\n  The main contribution of this work is a new, high-performance parallel\ncomputational framework for a broad class of NMF algorithms that iteratively\nsolves alternating non-negative least squares (NLS) subproblems for $W$ and\n$H$. It maintains the data and factor matrices in memory (distributed across\nprocessors), uses MPI for interprocessor communication, and, in the dense case,\nprovably minimizes communication costs (under mild assumptions). The framework\nis flexible and able to leverage a variety of NMF and NLS algorithms, including\nMultiplicative Update, Hierarchical Alternating Least Squares, and Block\nPrincipal Pivoting. Our implementation allows us to benchmark and compare\ndifferent algorithms on massive dense and sparse data matrices of size that\nspans for few hundreds of millions to billions. We demonstrate the scalability\nof our algorithm and compare it with baseline implementations, showing\nsignificant performance improvements. The code and the datasets used for\nconducting the experiments are available online.","url_abs":"http://arxiv.org/abs/1609.09154v1","url_pdf":"http://arxiv.org/pdf/1609.09154v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"mpi-faun-an-mpi-based-framework-for","repo_url":"https://github.com/ramkikannan/nmflibrary","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":"community-detection","task_name":"Community Detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}