*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 01:16 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 01:16 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 03:15 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 03:17 | |
lkcl | programmerjake, can you please keep whitespace separate from modifications https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=43cbd75c065db505282e3c4b077c08062d4a8360 | 08:42 |
---|---|---|
lkcl | commit 1: run autopep8, commit with a message "whitespace" | 08:42 |
lkcl | commit 2: actual modifications | 08:42 |
lkcl | 80% of the changes made in that commit are not relevant to the message in the commit | 08:43 |
lkcl | - SVd -= 1 # offset by one | 08:43 |
lkcl | + SVd -= 1 # offset by one | 08:43 |
lkcl | why was that change made for the purposes of "merge into VA-form"? | 08:44 |
lkcl | it's mis-describing and mis-leading, isn't it? | 08:48 |
lkcl | https://bugs.libre-soc.org/show_bug.cgi?id=933#c35 | 08:49 |
lkcl | funny how things adapt. | 08:50 |
lkcl | markos, can i ask you a small change to variance_svp64_real.s? | 09:41 |
lkcl | https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=media/video/libvpx/variance_svp64_real.s;hb=HEAD | 09:41 |
lkcl | to use setvl "set from CTR" mode? | 09:41 |
lkcl | rather than explicitly set VL=MAXVL=4 | 09:41 |
lkcl | set MAXVL=4,VL=MIN(MAXVL,CTR) | 09:42 |
markos | the problem are the strides | 09:42 |
lkcl | strides? | 09:42 |
markos | I would have to add a check if stride == number of elements and then I could do a larger VL | 09:42 |
markos | but if not then I'll still have to load in groups of 4 | 09:43 |
markos | yes, if the src/ref buffers are consecutive, we could indeed increase VL | 09:43 |
lkcl | i mean just the inner loop not the outer one | 09:43 |
lkcl | https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=media/video/libvpx/variance_svp64_real.s;hb=HEAD | 09:43 |
markos | but it's not a guarrantee | 09:43 |
lkcl | which loop did you use CTR for.... 1 sec... | 09:44 |
markos | the inner loop | 09:44 |
markos | wait, maybe I misread what you wrote | 09:44 |
lkcl | ok yes, then setvl-with-CTR can be used | 09:44 |
lkcl | https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/isa/test_caller_setvl.py;h=542e652bb909b9d13eff3c2d752a96b859ffcbcc;hb=92f0d24fa53c23a31ec51d4e386ce5f6a288c5bc#l478 | 09:45 |
markos | could this wait for later? I have to finish a few things by the weekend and then I'll tackle AV1/mp3 | 09:45 |
markos | after that I'd gladly revisit this | 09:45 |
lkcl | markos, yes of course | 09:46 |
lkcl | i'm concerned that width is not a multiple of 4 you get data corruption | 09:47 |
markos | in this function, it's a requirement | 09:47 |
markos | in all these functions basically | 09:47 |
lkcl | using the built-in "MIN()" capability it makes that moot | 09:48 |
lkcl | it's still good practice and also means MAXVL=8 or MAXVL=16 is also possible | 09:48 |
markos | ok, I can give it a shot later today, if the tests pass with that change I'll make the commit, if not then I'll have to revisit for later | 09:49 |
lkcl | but it's also a fundamental part of understanding Cray-style vector loops (rather than treating as/like SIMD) | 09:49 |
lkcl | appreciated. sensible | 09:49 |
markos | I understand, it could actually go for more, up to 64 (as it does have 64x64 blocks) and it's possible to load both src/ref whole lines -provided I renumber the register offsets with .set at the top with 256 registers, or 32x32 with 128 registers | 09:51 |
markos | going the safe route, MAXVL=32 seems entirely possible | 09:51 |
lkcl | it also means you don't need to do the CTR//4 | 09:52 |
markos | true, I'll have to modify the code a bit | 09:52 |
lkcl | hang on - no let's leave it for now. | 09:52 |
lkcl | i realised you'd have to do a mtctr subtract the... | 09:53 |
lkcl | no, it's really designed for working with sv.bc/ctr mode | 09:53 |
lkcl | it would be easier if you *weren't* using CTR in the inner loop :) | 09:53 |
lkcl | i do actually have a test_sv_branch_ctr but it needs checking/completing. | 09:54 |
lkcl | leave it with me, i will do a mini concept-loop to make sure the combination of setvl-in-CTR-mode and sv.bc/ctr-mode is working | 09:55 |
markos | ok | 10:04 |
*** ghostmansd <ghostmansd!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 10:19 | |
ghostmansd | I have an update. I've just got a confirmation that I've been granted a military reprieve. I don't know how long it will last, for obvious reasons. However, that's at least something to work with. | 10:21 |
ghostmansd | Luke, I've been thinking of several tasks regarding binutils and assembly. | 10:21 |
lkcl | ghostmansd, whew - this is good news. | 10:22 |
ghostmansd | 1) Refactor the assembly so that it relies on new fields and so that all instructions are generated from the database (that is, no more "custom" instructions). | 10:22 |
ghostmansd | 2) Refactor binutils assembly according to the same logic. | 10:22 |
lkcl | ya | 10:23 |
ghostmansd | 3) Sync these two worlds, finally. | 10:23 |
lkcl | ... | 10:23 |
ghostmansd | 3) is somewhat in scope of 1) and 2) | 10:23 |
lkcl | yes, sv/trans/svp64.py goodbyte | 10:23 |
lkcl | doh | 10:23 |
lkcl | goodbyte | 10:23 |
lkcl | i still can't type it! | 10:23 |
ghostmansd | lol | 10:23 |
lkcl | g o o d b y e | 10:23 |
lkcl | dang | 10:23 |
ghostmansd | :-D | 10:23 |
ghostmansd | If you have other tasks in mind, please let me know. | 10:24 |
lkcl | no it's a good one. | 10:24 |
lkcl | there's two aspects to it | 10:25 |
lkcl | a) the qualifier-parsing | 10:25 |
lkcl | b) the hand-crafted XO-stuff | 10:25 |
ghostmansd | I don't have confirmation from employer regarding binutils commits. Considering that all Russian lawyers currently have to care of mobilization issues and risks it imposes for all business units, side questions will take more time than expected. | 10:25 |
lkcl | the Xo-and-all-the-arguments is probably the easiest first thing | 10:25 |
lkcl | no surprise there | 10:25 |
ghostmansd | I mean, I got an ack I will have signed papers, but currently all Russian people work on other kind of papers. :-) | 10:26 |
ghostmansd | Well actually parsing and constructing the arguments is a straightforward thing, but will need much time. | 10:26 |
ghostmansd | Like we have disassemble() method, we'll have to introduce assemble(). | 10:27 |
lkcl | urrr yeah | 10:27 |
lkcl | and associated custom-parsing of target_addr (etc. etc.) | 10:27 |
ghostmansd | This will include the parsing, the checks, some quirks like subtracting 1, shifting and masking the addresses, and so on. | 10:27 |
ghostmansd | Yeah, exactly. | 10:27 |
ghostmansd | Also, coincidentally, it gives us support for rX/fX/crX syntax. | 10:28 |
lkcl | hooyah | 10:28 |
ghostmansd | Do we have some parent task to assign these? | 10:28 |
ghostmansd | I'm not sure if cavatools fit, but I don't know any other candidates. | 10:29 |
lkcl | urrr.... | 10:29 |
lkcl | i still have to write/agree the MoU for that | 10:29 |
ghostmansd | That's OK, I can start works before that. | 10:29 |
ghostmansd | I'm not sure of RFPs, though. | 10:30 |
lkcl | need a bug for it anyway so it's not lost.... need to do a cavatools one first | 10:30 |
ghostmansd | The France magic trick has drained all the mana, to be honest. | 10:30 |
ghostmansd | This option is closed, at least for a while. | 10:30 |
ghostmansd | I'm not sure when the situation gets stable (likely not soon, maybe in months, but more likely in years). | 10:31 |
lkcl | frickinell | 10:31 |
ghostmansd | I've been thinking of having a foreign account, but this is also a fragile option: these can be closed any time. | 10:32 |
ghostmansd | Now the politics dicate the economy, not vice versa. | 10:32 |
ghostmansd | Even suicidal options are no longer considered to be suicidal enough to avoid them. | 10:33 |
ghostmansd | Anyway, I expressed that the main reason I do it is project-related, so I can work until we find some options. | 10:34 |
lkcl | appreciated | 10:34 |
lkcl | markos, ha! it worked! | 10:38 |
lkcl | https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=d9182dc5381b99db659e47918aebda430deb919b | 10:38 |
lkcl | really simple | 10:38 |
lkcl | + "setvl 1, 0, %d, 0, 1, 1" % maxvl, # VL (and r1) = MIN(CTR,MAXVL=4) | 10:38 |
lkcl | + "add 2, 2, 1", # for fun accumulate r1 (VL) into r2 | 10:38 |
lkcl | + "sv.bc/ctr/all 16, *0, -0x8", # branch, test CTR, reducing by VL | 10:38 |
ghostmansd | Please keep in mind that I'll be less available starting Oct 17, though. | 10:40 |
lkcl | ack | 10:40 |
ghostmansd | lkcl, do you recall the origins of commit 2ff083fd71e9526dfdc5f326649d370a1b0d8754? | 10:55 |
ghostmansd | Why do we need to reset the iterable? | 10:56 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 11:17 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 11:17 | |
lkcl | ah yes. | 11:31 |
lkcl | because f.read() moves the file-pointer to the end of the file | 11:32 |
lkcl | then you try to re-enumerate the database and BLAT, it's "empty" | 11:32 |
lkcl | try doing load() twice, you will instantly see what the problem is | 11:32 |
lkcl | (the file *isn't* empty... it's just that the file-pointer was left at the *end*) | 11:57 |
*** ghostmansd <ghostmansd!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 11:58 | |
lkcl | aaaand of course.... on stdin you *can't* rewind the file back to the beginning (f.seek() *fails* on a non-seekable stream) | 11:58 |
lkcl | therefore the only solution is to take a *full copy* of the file (into BytesIO) and at that point you *can* perform f.seek() on it | 11:58 |
ghostmansd[m] | Aaah, so it's for other places which re-use load()? | 12:01 |
ghostmansd[m] | Not for pysvp64dis itself, right? | 12:02 |
lkcl | yes. such as "i want to do a debug print on the contents of the assembler listing" | 12:02 |
lkcl | or | 12:02 |
lkcl | "i want to enumerate the listing after it's been loaded" | 12:02 |
lkcl | yes. | 12:02 |
ghostmansd[m] | Got it. I totally forgot that we re-use this code. | 12:02 |
lkcl | test_pysvp64dis.py has to do *multiple* enumerations of the listings | 12:02 |
ghostmansd[m] | And I really stumbled like, "but why?" | 12:02 |
lkcl | :) | 12:03 |
lkcl | because | 12:03 |
ghostmansd[m] | Aha, makes perfect sense now :-) | 12:03 |
ghostmansd[m] | Thanks! | 12:03 |
*** octavius <octavius!~octavius@170.147.93.209.dyn.plus.net> has joined #libre-soc | 12:53 | |
programmerjake | lkcl: for that commit i didn't realize it contained whitespace modifications, that wasn't intended. i comitted kinda in a hurry because i realized i broke assembling pcdec. without that commit, sorry | 14:09 |
programmerjake | though everything using pcdec. is mostly broken rn anyway while i'm rewriting it | 14:09 |
lkcl | programmerjake, wark-wark :) | 14:37 |
lkcl | fascinated to see how this turns out | 14:37 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 15:49 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.42.137> has joined #libre-soc | 15:49 | |
*** octavius <octavius!~octavius@170.147.93.209.dyn.plus.net> has quit IRC | 21:53 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!