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

Reply via email to