The coverage vector is an offset and a 64-bit integer. Sentence length limit is 2^64, reordering limit is capped at 64.
Kenneth On 12/13/2014 01:25 PM, Hieu Hoang wrote: > you're using int64 as the coverage vector? do you know how much faster > that is? so u just chop up sentences with more than 64 words? > > On 13/12/14 01:12, Kenneth Heafield wrote: >> That reduces it to searches left and right for the spans of zeros in >> which the phrase occurs. After some shift and a mask, each of these >> reduces to finding the first 1 in a 64-bit int, which can be done in one >> instruction on Intel and has a gcc builtin. >> http://en.wikipedia.org/wiki/Find_first_set >> >> Kenneth >> >> On 12/12/2014 07:57 PM, Kenneth Heafield wrote: >>> Don't recompute the future cost each time. Compute the delta. >>> >>> https://github.com/kpu/mtplz/blob/master/decode/future.hh >>> >>> On 12/12/2014 10:15 AM, Martin Liška wrote: >>>> On 12 December 2014 at 15:54, Barry Haddow >>>> <[email protected]> wrote: >>>>> Hi Martin >>>>> >>>>> Interesting work - thanks for sharing. >>>>> >>>>> I was just curious about this comment: >>>>> >>>>>> Moses::Hypothesis::EvaluateWhenApplied method is dominated by >>>>>> calculation >>>>>> of bit intervals. More precisely, for a given set represented in >>>>>> bits: >>>>>> 010011, we would like identify consecutive zero chunks: <3-4> and >>>>>> <6-6>. I >>>>>> am not familiar with any vector instruction solution which can help >>>>> Where is the calculation of bit intervals done? If this is a big >>>>> issue, >>>>> could they be precalculated somehow? Bit vectors start off as all >>>>> zeroes, >>>>> then each time a bit is flipped, the a zero chunk is split, >>>>> >>>>> cheers - Barry >>>> Hello Barry. >>>> >>>> This calculation is processed in >>>> https://github.com/moses-smt/mosesdecoder/blob/master/moses/SquareMatrix.cpp#L40, >>>> >>>> Mentioned function takes words bitmap, calculates consecutive zero >>>> chunks and calls GetScore for each of these chunks. >>>> >>>> I am not sure it can beneficial to have a list of these chunks >>>> maintained after each flip operation. >>>> >>>> Martin >>>> >>>> >>>>> >>>>> On 12/12/14 12:45, Martin Liška wrote: >>>>>> Hello. >>>>>> >>>>>> As part of my SUSE Hackweek project ([1]), I've spent couple of days >>>>>> playing with Moses performance tuning. I cooperated with Aleš and our >>>>>> effort produced two patches that have been just merged to >>>>>> mainline. If >>>>>> you are interested in more details, please visit my blog post: [2]. >>>>>> I would be really happy if my blog post would become a kick-off for >>>>>> further performance tuning. >>>>>> >>>>>> Thanks, >>>>>> Martin Liška, >>>>>> SUSE Labs >>>>>> >>>>>> [1] https://hackweek.suse.com/11/projects/284 >>>>>> [2] http://marxin.github.io/posts/moses-performance-tuning/ >>>>>> >>>>>> _______________________________________________ >>>>>> 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 >>>> >>> _______________________________________________ >>> Moses-support mailing list >>> [email protected] >>> http://mailman.mit.edu/mailman/listinfo/moses-support >>> >> _______________________________________________ >> Moses-support mailing list >> [email protected] >> http://mailman.mit.edu/mailman/listinfo/moses-support > _______________________________________________ Moses-support mailing list [email protected] http://mailman.mit.edu/mailman/listinfo/moses-support
