[Libre-soc-bugs] [Bug 555] encode a dotproduct in a single instruction
    bugzilla-daemon at libre-soc.org 
    bugzilla-daemon at libre-soc.org
       
    Wed Dec 23 22:25:46 GMT 2020
    
    
  
https://bugs.libre-soc.org/show_bug.cgi?id=555
--- Comment #9 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #8)
> (In reply to Luke Kenneth Casson Leighton from comment #3)
> > jacob notes: fma reduction would be a polynomial reduction but it would be a
> > Bad Idea (tm) to implement in hardware
> 
> *could* be a polynomial reduction:
> v = a
> v = x * v + b
> v = x * v + c
> v = x * v + d
> 
> produces:
> v == d + x * c + x^2 * b + x^3 * a
once a b and c are factored out, yes.
above is more (with substitution)
   d + (v * (c + (v * (b + (v * a)))))
which i think may be doable with some overlapping fmas (no reduce required)
the polynomial version: i love it.  it's so cool that i think we should give it
a shot.  interestingly it may be possible to detect from the src/dest
scalar/vector marking.
this one is
dest=v (needed in case of intermediaries)
src1=s
src2=s
src3=v
and also, note, RT == RB
> 
> having fma reduction be a dot product is also valid, easier to implement in
> hardware, 
well we are waay past the point where stuff is "easy" :)  we are long into FSMs
and micro-coding.
> and more useful:
> v = a
> v = b * c + v
> v = d * e + v
> v = f * g + v
> 
> v == a + dot(<b, d, f>, <c, e, g>)
this one is
dest=v (needed for intermediary results)
src1=v
src2=v
src3=s
and note, RT == RC
-- 
You are receiving this mail because:
You are on the CC list for the bug.
    
    
More information about the libre-soc-bugs
mailing list