moses-smt / mosesdecoder

Moses, the machine translation system
http://www.statmt.org/moses
GNU Lesser General Public License v2.1
1.58k stars 778 forks source link

NPLM double precision spec b0rks the build #123

Closed michaelhutt closed 9 years ago

michaelhutt commented 9 years ago

To get moses compiled with the NPLM from https://github.com/moses-smt/nplm, I had to edit lm/Jamfile to add NPLM_DOUBLE_PRECISION=0 to the nplm.o object's definitions.

While I'm here, the commit that added NPLM_DOUBLE_PRECISION=0 to moses/LM/Jamfile (12439215d0a06e205a2c558a3e531204d1695942) was labeled 'compile NPLM objects with single precision', but actually compiles them with double precision. The NPLM headers enable double precision if NPLM_DOUBLE_PRECISION is defined at all - setting it to zero is still defining it. Not sure if this is a problem or not - both NPLM and moses are setting them to the same value by default, which makes them compatible.

@rsennrich

rsennrich commented 9 years ago

Hello Michael,

thanks for pointing this out. should be unborked now.

best wishes, Rico

On 03.09.2015 17:57, Michael Hutt wrote:

To get moses compiled with the NPLM from https://github.com/moses-smt/nplm, I had to edit lm/Jamfile to add NPLM_DOUBLE_PRECISION=0 to the nplm.o object's definitions.

While I'm here, the commit that added NPLM_DOUBLE_PRECISION=0 to moses/LM/Jamfile (1243921 https://github.com/moses-smt/mosesdecoder/commit/12439215d0a06e205a2c558a3e531204d1695942) was labeled 'compile NPLM objects with single precision', but actually compiles them with double precision. The NPLM headers enable double precision if NPLM_DOUBLE_PRECISION is defined at all - setting it to zero is still defining it. Not sure if this is a problem or not - both NPLM and moses are setting them to the same value by default, which makes them compatible.

@rsennrich https://github.com/rsennrich

— Reply to this email directly or view it on GitHub https://github.com/moses-smt/mosesdecoder/issues/123.