I am currently using the ParallelTopicModel for topic modeling, but I've encountered some strange behavior. When I set different number of threads for the model, I get different results which should not happen if I'm right. The implementation we've written is used on different machines with a different number of maximal threads, but somehow the results are different. Random seed, documents, iterations etc. are the same.
Is this a known bug or expected? Or am I just doing something wrong?
Code Snippet:
// Begin by importing documents from text to feature sequences
final InstanceList instances = new InstanceList(docPipe);
instances.addThruPipe(docsIter);
final ParallelTopicModel model =
new ParallelTopicModel(noOfTopics, m_alpha.getDoubleValue() * noOfTopics, m_beta.getDoubleValue());
model.setRandomSeed(m_seed.getIntValue());
model.addInstances(instances);
model.setNumThreads(noOfThreads);
model.setNumIterations(noOfIterations);
try {
model.estimate();
} catch (RuntimeException e) {
throw e;
}