Wednesday, 2022-09-28

markoslkcl, reg. what you asked yesterday about running just one test, just remembered, with gtest you can use a filter to run just one test so no need to actually make a separate binary09:09
markosyou can give ./libvpx_variance_test --gtest_list_tests09:10
markosand it will list all available tests09:10
markosand you can run it with --gtest_filter=SVP64/VpxVarianceTest.Ref/5 for example09:10
markosand it will run just that test09:10
markosthat's what I'm doing all the time for development09:11
markosI don't wait hours to test everything with every change :)09:11
lkclghostmansd[m], moornin (ish)10:17
lkclare ya good with another semi-pseudo-instruction similar to svshape2?10:17
lkclyou remember we removed /SVM because it wasn't working?10:18
* ghostmansd[m] salutes10:18
lkcli need to add something close to it (horizontal reducton) for markos10:18
lkclbut this time as a REMAP10:18
lkclsay.... svreduce10:18
lkclit'll actually sit on top of existing Matrix REMAP, just giving some slightly different setup10:20
* lkcl still thinking it over but it will allow arrays of R G B data to be "constructed" down to a single thing:10:21
lkclR0 G0 B0 -> OR-together-into result010:21
lkclR1 G1 B1 -> OR-together-into result110:22
lkclRn Gn Bn -> OR-together-into resultn10:22
* lkcl thinks is that even needed?10:23
lkclactually... it's just a matrix-style REMAP with a 1D vector, isn't it?10:23
lkclso yep scratch that :)10:25
lkclmarkos, for doing RGB pixel-merging after some shifting, you can use:10:26
lkcl* the RGB data as Matrix A: row 1: R0 G0 B0 row 2 R1 G1 B1 ....10:26
lkcl* a "blank" (vertical) vector of length 3, with zeros in it.10:27
lkcl* an OR instruction as the base operation10:28
lkclthen **IGNORE** the blank vector of length 3, it was only there to set up the REMAP schedule10:28
lkcli will try a unit test, now10:29
ghostmansd[m]This is again a self-problem-solving chat10:33
lkclfrickin amazing, isn't it?10:33
ghostmansd[m]I guess that we should patent that eventually10:33
lkcleurrrgh, going to have to use ternlogi because a RT |= RB is needed12:10
lkclah well12:10
lkcllucky we have one of those12:10
lkclngggh trying to get my head round matrix-multiplyyyy13:05
*** ghostmansd[m] <ghostmansd[m]!> has quit IRC13:09
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc13:10
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC13:44
*** ghostmansd[m] <ghostmansd[m]!> has joined #libre-soc13:45
lkclholy cow that was obscure14:08
markoslkcl, btw, I submitted the abstract, just in case...14:16
lkcli must do mine as well14:16
lkcli'm just committing the example for horizontal-or-reduction14:16
lkclit works by ignoring the B-Matrix entirely14:18
lkcljust use those 3 instructions as-is.14:19
lkclit *will* overwrite (calculate) VL.14:19
lkclif you want to do 4 vectors worth of (R<<16,G<<8,B<<0) data then use14:20
lkclsvshape 3,4,1,0,014:20
lkclif you want to do 8, use14:20
lkclsvshape 3,8,1,0,014:20
lkclmarkos, i made the example more generic so you can see where to drop in the dimension sizes X,Y14:27
lkclif you need to OR-reduce ARGB data then it should be obvious14:28
lkcloh - you can also use the same trick for horizontal-multiply-reduction14:28
markosI have to finish something on arm first -a few hundred lines dct again :)- and then I'll start on av114:28
lkclas well as horizontal-add-reduction14:28
lkcljoooy :)14:28
markosalready miss svp64 :D14:28
lkclsorry :)14:29
lkclbear in mind that for some unknown reason it's doing *inner* product here not outer-product.14:32
lkcli have no idea why14:33
lkclmatrix-mul was supposed to do an outer-product14:33
lkclso as to be able to hit back-end pipelines with a series of non-dependent (interleaved) mul-adds14:33
lkcli think it's down to the fact that the B-Matrix is (1 x y) dimension size14:33
lkcloh well14:34
*** ghostmansd[m] <ghostmansd[m]!> has quit IRC14:38
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc14:39
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC14:57
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc14:58
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC16:02
*** ghostmansd[m] <ghostmansd[m]!> has joined #libre-soc16:02
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC16:51
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc16:52
*** ghostmansd[m] <ghostmansd[m]!> has quit IRC17:23
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc17:24
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC17:43
*** ghostmansd[m] <ghostmansd[m]!> has joined #libre-soc17:43
*** ghostmansd[m] <ghostmansd[m]!> has quit IRC18:19
*** ghostmansd[m] <ghostmansd[m]!> has joined #libre-soc18:57
*** Veera <Veera!~veera@> has joined #libre-soc19:02
Veerais lkcl near?19:07
programmerjakelkcl: ^19:18
programmerjakehe was around 1hr ago...19:18
programmerjakeidk if he's available rn19:19
*** Veera <Veera!~veera@> has quit IRC19:24
*** Veera <Veera!~veera@> has joined #libre-soc19:25
*** Veera <Veera!~veera@> has quit IRC19:43
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC20:15
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc20:17
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC20:19
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc20:20
*** yambo <yambo!~yambo@> has quit IRC22:23
*** yambo <yambo!~yambo@> has joined #libre-soc22:35

Generated by 2.17.1 by Marius Gedminas - find it at!