From 55da6f6d4e924769cea9463c1967e4405317a8c5 Mon Sep 17 00:00:00 2001 From: bothameister Date: Tue, 6 Jul 2010 22:38:21 +0000 Subject: Added simple multi-threading during hyperparameter resampling. Added cmdarg for controlling number of threads. Moved Timer to its own header file. Cleaned up Makefile.am git-svn-id: https://ws10smt.googlecode.com/svn/trunk@170 ec762483-ff6d-05da-a07a-a48fb63a330f --- gi/pyp-topics/src/pyp-topics.hh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'gi/pyp-topics/src/pyp-topics.hh') diff --git a/gi/pyp-topics/src/pyp-topics.hh b/gi/pyp-topics/src/pyp-topics.hh index 9da49267..8097fe19 100644 --- a/gi/pyp-topics/src/pyp-topics.hh +++ b/gi/pyp-topics/src/pyp-topics.hh @@ -11,7 +11,7 @@ #include "pyp.hh" #include "corpus.hh" - +#include "workers.hh" class PYPTopics { public: @@ -20,12 +20,13 @@ public: typedef double F; public: - PYPTopics(int num_topics, bool use_topic_pyp=false, unsigned long seed = 0) + PYPTopics(int num_topics, bool use_topic_pyp=false, unsigned long seed = 0, + int max_threads = 1) : m_num_topics(num_topics), m_word_pyps(1), m_topic_pyp(0.5,1.0,seed), m_use_topic_pyp(use_topic_pyp), m_seed(seed), uni_dist(0,1), rng(seed == 0 ? (unsigned long)this : seed), - rnd(rng, uni_dist) {} + rnd(rng, uni_dist), max_threads(max_threads) {} void sample_corpus(const Corpus& corpus, int samples, int freq_cutoff_start=0, int freq_cutoff_end=0, @@ -79,6 +80,16 @@ private: gen_type rnd; //instantiate: rnd(rng, uni_dist) //call: rnd() generates uniform on [0,1) + typedef boost::function JobReturnsF; + typedef SimpleWorker SimpleResampleWorker; + typedef boost::ptr_vector WorkerPtrVect; + + F hresample_docs(int num_threads, int thread_id); + +// F hresample_topics(); + + int max_threads; + TermBackoffPtr m_backoff; }; -- cgit v1.2.3