Research Project for my MSc in High Performance Computing titled "An Analysis of the Parallel Implementations of Latent Dirichlet Allocation in the Field of Digital Humanities. Written in C using MPI. Completed 01/09/2017
The Code and Inputs for "An Analysis of the Parallel Implementations of Latent Dirichlet Allocation in the Field of Digital Humanities"
Robert Cronin
Main Code for this project can be found in Code/GibbsPLDA+
All Directories in Code/
Gibbs-LDA2: Serial LDA Implementation
Gibbs-LDA-MPI: AD-LDA Implementation
GibbsPLDA+: PLDA+ Implementation
tfidf: TF-IDF Implementation & Read In Functions of a Corpus utilised by LDA implementations also
testSet: Creates a test set of documents via random integers
binaryTree: Binary Tree functions for Cword and Inverted Index part of PLDA+
general: Various header files for functions used throughout
svd: Initial serial implementation of SVD
All Directories in Inputs/
Gutenberg: Test set of 17 documents from Project Gutenberg
Note: Individual Directories may contain README files with information about compiling and executing code
Note: In most cases running help through the -h flag will provide the most information about the flags
Note: When switching from a Serial to MPI code or vice versa, run make clean first as many header files only use MPI functions when MPI is required
Note: Additional corpora with 357 and 831 documents (zipped file, 265MB) can be found at:
https://drive.google.com/a/tcd.ie/file/d/0Bwxc63LjDNFQa3ZqakVtQk9EUzA/view?usp=drive_web