Hi Miles, Thanks a lot for releasing a version of RandLM which supports multi-threading. I'd very much like to use it together with Moses, but am having significant problems.
Although I initially noticed the problem with Moses, I was able to reproduce it using basic functionality: R=randlm_v0.20_no_threads echo "This is a test of the emergency broadcast system ." | $R/buildlm -order 5 -struct BloomMap -falsepos 8 -values 8 -output-prefix model -tmp-dir . echo "This is a test of" > tmp_kill2 $R/querylm -randlm model.BloomMap -test-path tmp_kill2 -test-type ngrams -order 5 [works fine] R=randlm_v0.20_threads echo "This is a test of the emergency broadcast system ." | $R/buildlm -order 5 -struct BloomMap -falsepos 8 -values 8 -output-prefix model -tmp-dir . echo "This is a test of" > tmp_kill2 $R/querylm -randlm model.BloomMap -test-path tmp_kill2 -test-type ngrams -order 5 [dumps core - if you do this in gdb, and do a backtrace #0 0x000000000043633b in randlm::RandLMHashCache::check(unsigned int const*, int, float*, void const**) () #1 0x000000000042440e in randlm::StupidBackoffRandLM::getProb(unsigned int const*, int, int*, void const**) () #2 0x0000000000404bb6 in randlm::RandLMQuery::query() () #3 0x0000000000409fd6 in main () ] I built randlm on a linux machine that has boost 1.44 installed (presumably with the linux distribution; note that this is not in my home directory as I was doing over the weekend if you happened to see those emails with Barry). For the no threads version, I made no changes to the Makefile. For the threads version I used these two lines (note that the first one is slightly changed from your commented out lines, with "-mt" added). LDFLAGS+=-lboost_thread-mt DEFS+=-DMULTITHREADED Thanks for your help. Cheers, Alex _______________________________________________ Moses-support mailing list [email protected] http://mailman.mit.edu/mailman/listinfo/moses-support
