Hi Alex, The problem you are experiencing with the querylm utility is down to an oversight on my part. Compiling with threading support requires you to init caches etc on RandLM instances which I didn't do for querylm. I'm working on a fix now and will mail you off list when it's done.
Are you still experiencing problems when using multithreaded RandLM from within moses? Regards, Oliver On Tue, Mar 15, 2011 at 03:58:46PM +0100, Alexander Fraser wrote: > 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 > -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. _______________________________________________ Moses-support mailing list [email protected] http://mailman.mit.edu/mailman/listinfo/moses-support
