[Libre-soc-bugs] [Bug 1155] O(n^2) multiplication REMAP mode(s)

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Sat Sep 9 00:28:57 BST 2023


https://bugs.libre-soc.org/show_bug.cgi?id=1155

Luke Kenneth Casson Leighton <lkcl at lkcl.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |konstantinos at vectorcamp.gr

--- Comment #1 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #0)
> Create a REMAP mode

>     for(size_t ai = 0; ai < a_sz; ai++) {
>         uint64_t carry = 0;
>         for(size_t bi = 0; bi < a_sz; bi++) {
>             uint128_t v = (uint128_t)a[ai] * (uint128_t)b[bi];

the basics for the bigmulremap fn become:
   for i in range(asz):
      for j in range(bsz):
          yield i, j, i+j

however additional modes then include options to
do yield i, j, ((i+j) % bsz) plus "reversing" options
(horiz, vert, h&v) and perhaps 2D mirroring as well.
that's 5 bits of mode which is quite enough.

i know that konstantinos may have something to
add about the motion-estimate algorithm he did, i
know there is a similar pattern but it is...
i//2, j, i//2+j or something like that. this may be
a bit much though.

have to be very careful as there is not much space
left in svshape.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list