[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