[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 Dec 23 19:13:57 GMT 2023
https://bugs.libre-soc.org/show_bug.cgi?id=1155
--- Comment #25 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #20)
> if all 4 options with zero or one axis selected are redundant, then we can
> save a bit and the encoding can be as follows:
>
> 00 x + y
> 01 x + z
> 10 y + z
> 11 x + y + z
>
> basically we remove the bit for z and set it to 1 if x or y are set,
> otherwise set z to 0 and x and y to 1.
damnit damnit, just realised that actually for the *matrix* style
(2D/3D) schedule, summing is just as useful *even of triangles*,
plus actually producing *triangle* schedules (without summing)
is also useful.
whiiich... takes up the entirety of "permute=0b110/111"... arg arg...
ok so what i am currently thinking is:
* mode=0b00 is current "Matrix" mode
* mode=0b11 is *still matrix schedule* but is "summation" (x+y+z) BUT..
... under *sub*-modes it can go into "Triangular" (Pascal's Triangle).
where mode=0b00 you would get:
0 4 8 12
1 5 9 13
2 6 10 14
3 7 11 15
instead you would get:
0 4 8 12
5 9 13
10 14
15
(or maybe)
0
1 5
2 6 10
3 7 11 15
so N*(N+1)/2 numbers instead of N*N but they are *still* in NxN form
then within this, when x=1 or y=1 or z=1, this triggers the "triangular"
thoughts?
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list