*** octavius_ <octavius_!~igloo@213.205.240.211> has joined #libre-soc | 00:01 | |
octavius_ | My router filter turned on (a way to encourage myself to sleep). Have a good night/ day | 00:02 |
---|---|---|
*** octavius_ <octavius_!~igloo@213.205.240.211> has quit IRC | 00:03 | |
*** octavius <octavius!~octavius@197.147.93.209.dyn.plus.net> has quit IRC | 00:04 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 00:22 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 00:22 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 01:16 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 01:29 | |
programmerjake | lkcl: ok in ci pytest failed again for sv_maxu_works...i'll debug that. it seems likely it'll fail if you test it possibly due to cpython 3.7 bugs or pytest bugs... | 02:29 |
programmerjake | https://salsa.debian.org/Kazan-team/mirrors/openpower-isa/-/commit/cfd0215fc6f716317eb22d04d965028eb794965b/pipelines?ref=sv_maxu_works | 02:29 |
programmerjake | I created a python3.7 venv and am running tests on my desktop | 04:43 |
programmerjake | all passed... | 04:51 |
programmerjake | I think I figured out the problem, pytest's master process is storing all the stdout of each of the tests, and it's currently at 7.6GB and climbing -- I'm running it via gitlab-runner on my desktop | 05:05 |
programmerjake | yup, ran out of memory | 05:07 |
programmerjake | luke, no matter how you look at it, >14GB of stdout is *too much*, we need to not log so much | 05:11 |
programmerjake | and, no, SILENCELOG isn't a good option unless it's set by default... | 05:12 |
programmerjake | I added SILENCELOG='!*,default' to .gitlab-ci.yml and that seems to fix it | 05:35 |
*** awygle_ <awygle_!~quassel@2604:a880:2:d0::5380:3001> has quit IRC | 07:49 | |
*** ghostmansd <ghostmansd!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 08:03 | |
*** awygle <awygle!~quassel@2604:a880:2:d0::5380:3001> has joined #libre-soc | 08:35 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 08:38 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 08:39 | |
ghostmansd | lkcl, a question on openpower/isa/branch.mdwn | 08:51 |
ghostmansd | there's target_addr argument | 08:52 |
ghostmansd | and I don't see where it maps | 08:52 |
ghostmansd | Yeah I know it's from the spec :-) | 08:52 |
ghostmansd | I simply cannot convert this stuff because it's not present in fields.text | 08:53 |
ghostmansd | From what I can deduce this target_addr is LI operand with an additional twist | 08:55 |
ghostmansd | Hm. We don't have sv.b, do we? | 09:04 |
programmerjake | target_addr should be the symbol it jumps to...depending on the form and AA bits, the calculation is different | 09:05 |
programmerjake | we have sv.bc, i think we don't have sv.b | 09:05 |
ghostmansd | Isn't it strange? | 09:05 |
ghostmansd | Ah yeah I see | 09:06 |
ghostmansd | > branch (b) unconditionally is impossible to vectorise, how can you "branch" to multiple locations? | 09:06 |
ghostmansd | https://bugs.libre-soc.org/show_bug.cgi?id=898#c32 | 09:06 |
programmerjake | i would just add a special case that converts target_addr to whichever field is the correct one, it may be multiple fields for v3.1 prefixed instructions | 09:07 |
programmerjake | sv.bc does a single branch if any/all vector element conditions come out as true/false | 09:08 |
programmerjake | gpu code does that a whole bunch, hence the special instruction | 09:08 |
ghostmansd | OK, fair enough | 09:10 |
ghostmansd | I was also thinking about a special case | 09:10 |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 11:52 | |
ghostmansd | programmerjake, done :-) | 11:55 |
ghostmansd | as a dryve-by change, I also supported GPR/FPR operands | 11:55 |
ghostmansd | https://bugs.libre-soc.org/show_bug.cgi?id=898#c40 | 11:56 |
ghostmansd | lkcl, I'm still wondering if we could have a task for openpower-isa disassembly, plus for all works already done in scope | 12:01 |
programmerjake | re target_addr: nice! turns out i was wrong, there are no other v3.1b instructions using target_addr, and i didn't see any v3.1 prefixed branch instructions when glancing through it just now | 12:04 |
programmerjake | glancing through the spec pdf | 12:05 |
ghostmansd | Even if there are, now handling these is super simple | 12:31 |
ghostmansd | Compared to binutils, at least | 12:31 |
ghostmansd | Though even in binutils most cases are good, except for few ones (including target_addr, by the way) | 12:31 |
*** ghostmansd <ghostmansd!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 12:47 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 13:10 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.42.61> has joined #libre-soc | 13:11 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 13:24 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 13:53 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 13:56 | |
*** octavius <octavius!~octavius@127.125.93.209.dyn.plus.net> has joined #libre-soc | 14:01 | |
lkcl | ghostmansd[m], i know - i'm overwhelmed at the moment. | 14:06 |
lkcl | none of the sv.bc* work is completed (but the spec is). | 14:06 |
lkcl | but you cannot do multiple unconditional branches to multiple locations. it is physically impossible (unless you want to redefine the concept of sv.b to be "start N hyper-threads") which is a can-o-worms | 14:07 |
ghostmansd[m] | Yeah I got it :-) | 14:08 |
ghostmansd[m] | But kinda in retrospective, when I realized what conditional branches do | 14:09 |
lkcl | huhn? target_addr doesn't exist in section 1.6. huhn?? | 14:10 |
lkcl | B-Form | 14:10 |
lkcl | PO BO BI BD AA LK | 14:10 |
lkcl | I-Form | 14:11 |
lkcl | LI AALK | 14:11 |
lkcl | oink. | 14:11 |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 14:14 | |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 14:15 | |
lkcl | ghostmansd[m], those are going to have to change to the correct constants | 14:16 |
lkcl | in the mdwn | 14:16 |
ghostmansd[m] | Naaah, it's same in spec | 14:17 |
ghostmansd[m] | target_addr depends on the form and other fields | 14:17 |
ghostmansd[m] | And is resolved to either LI or BD | 14:17 |
ghostmansd[m] | And also sign-extended | 14:17 |
ghostmansd[m] | I made it work to some degree | 14:18 |
ghostmansd[m] | (I haven't bother about sign extension, though; only disassembler) | 14:18 |
lkcl | 1 sec let me check | 14:19 |
lkcl | ah i.e. what the target_addr is is dependent on the *other* flags, yes? | 14:20 |
lkcl | AA/LK | 14:20 |
lkcl | but, hang on | 14:21 |
lkcl | look at the pseudocode | 14:21 |
lkcl | if AA then NIA ï¦iea EXTS(LI || 0b00) | 14:22 |
lkcl | else NIA ï¦iea CIA + EXTS(LI || 0b00) | 14:22 |
lkcl | that's reading from LI. | 14:22 |
lkcl | which is in the I-Form | 14:22 |
lkcl | so that tells me that the definition should be | 14:22 |
lkcl | * b LI | 14:22 |
lkcl | * ba LI | 14:22 |
lkcl | * bl LI | 14:22 |
lkcl | * bla LI | 14:22 |
lkcl | not target_addr at all | 14:23 |
lkcl | so i'm going to fix that by *replacing* target_addr with "LI" and also raise it as a bugreport on the (secretive) OPF ISA WG issue tracker | 14:24 |
* lkcl urrr have to run branch unit tests... urrr.... | 14:27 | |
lkcl | found some | 14:28 |
lkcl | passed test_caller.py! | 14:29 |
lkcl | test_caller_svp64_fft.py passed (it has a bc in it) | 14:31 |
lkcl | test_issuer.py branch HDL confirmed working | 14:32 |
lkcl | test_caller_setvl.py also confirmed working (contains another bc) | 14:32 |
lkcl | ok i'm happy with that | 14:32 |
lkcl | https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=7656b425de39cb28e6c52b9ee32c0f12517bae69 | 14:37 |
lkcl | there's one more i want to run - it's the "general" test (i know it has a cute loop in it) | 14:38 |
lkcl | https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/simulator/test_sim.py;h=7c240bd8943c46b0a6e072817140d8443105508f;hb=7656b425de39cb28e6c52b9ee32c0f12517bae69#l412 | 14:40 |
lkcl | yep all good | 14:40 |
* lkcl need a break then i can get to the maxu branc | 14:43 | |
*** octavius <octavius!~octavius@127.125.93.209.dyn.plus.net> has quit IRC | 15:14 | |
lkcl | programmerjake, sv_maxu_works branch is merged, it passed this time, i have who-knows-why-it-failed idea | 16:15 |
lkcl | i'm re-running test_issuer.py to make absolutely sure | 16:16 |
lkcl | i had to deal with two merge conflicts though, on gitlab-ci.yml | 16:16 |
lkcl | i have no idea which one is valid | 16:16 |
lkcl | programmerjake, also, please do not re-open that bugreport. i will continue to close it. i cannot explain why what you wrote is invalid because i am under strict Confidentiality with the OPF ISA WG but know about information that i cannot reveal which will make the objection you raise moot and thus the task invalid. | 16:24 |
*** octavius <octavius!~octavius@127.125.93.209.dyn.plus.net> has joined #libre-soc | 16:29 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.42.61> has quit IRC | 16:53 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.166.30> has joined #libre-soc | 16:54 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.166.30> has quit IRC | 17:13 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.42.230> has joined #libre-soc | 17:15 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.42.230> has quit IRC | 17:21 | |
lkcl | which i am not in the least bit happy about. | 18:05 |
*** ghostmansd <ghostmansd!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 18:26 | |
programmerjake | lkcl, if you think you merged the changes in sv_maxu_works into master, you didn't -- because of all the reverts, merging backed out nearly all the changes i made | 18:40 |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has quit IRC | 18:47 | |
programmerjake | also, lkcl, i raised more than one reason to rewrite the parser, are any of them *not* invalidated by what you can't reveal? unless there's a wip pseudocode parser by the isa wg, most of the reasons to want to rewrite our parser should still be valid -- it still has terrible error detection/handling wether or not OPF wants to use ours. | 18:48 |
programmerjake | we still want to make something that can output c -- assuming the isa wg doesn't have code that already does that | 18:50 |
programmerjake | rewriting should be only somewhat harder than solving either of those issues independently | 18:51 |
programmerjake | i'll merge master into sv_maxu_works and add the needed reverts of reverts, then you should be able to merge again. | 18:56 |
ghostmansd | Guys, please run tests before merging. I'm always stumbling when I meet unknown errors, I'm not as good in overall project's architecture as you're, so please ensure things work. | 18:57 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 18:59 | |
programmerjake | lkcl probably ran tests before merging, assumed merging wouldn't change that, and merged and pushed. | 19:00 |
programmerjake | because of the revert commits, only the utf-8 tests should be failing on master | 19:00 |
programmerjake | ghostmansd sorry for the trouble | 19:02 |
ghostmansd | Nothing to worry about, I also broke master :-) | 19:02 |
ghostmansd | Well, there's something to worry, but it happens to all of us | 19:02 |
ghostmansd | Thank you for your hard work! | 19:02 |
ghostmansd | To both of you | 19:03 |
programmerjake | thank you ghostmansd too! | 19:09 |
programmerjake | and everyone else who contributed to libre-soc | 19:10 |
lkcl | ngggh streeeeessed | 19:10 |
lkcl | programmerjake, for future reference, you should have a branch that goes from the (current) master so that a simple "git rebase {name_of_branch}" will work | 19:11 |
lkcl | i leave it to you to sort out | 19:12 |
programmerjake | i think we should git merge rather than git rebase when merging my branch... | 19:13 |
programmerjake | i'll let you know once i got it working | 19:14 |
programmerjake | or, should i just merge into master when it's working and passes all tests? that way you don't have to do anything extra | 19:15 |
lkcl | i leave it to you to sort out, but do it quickly as it's stopping ghostmansd from doing any work (and me) | 19:16 |
ghostmansd | Please don't use merge. It makes the history complicated. | 19:17 |
ghostmansd | And I'd rather want it to be linear. | 19:17 |
lkcl | the next high priority item is the transcendentals. | 19:17 |
lkcl | yeah i can't stand merge either | 19:17 |
ghostmansd | I always use `git pull origin branch --rebase`. | 19:17 |
programmerjake | ok | 19:18 |
lkcl | it would actually likely be better to do a force-master push back to the previous point but i have no f*****g idea what that is | 19:18 |
ghostmansd | lol | 19:18 |
ghostmansd | Well I guess Jacob knows | 19:18 |
programmerjake | there isn't one, ghostmansd's commits are interleaved with our mess | 19:18 |
lkcl | programmerjake, ghostmansd i've allocated all of the transcendentals bugreport to you both, 50% each. ghostmansd for the work already done, it's... complicated. | 19:19 |
ghostmansd | programmerjake, perhaps you could simply cherry-pick these commits. They either haven't touched simulation at all, or were tested. | 19:25 |
ghostmansd | And perhaps our works haven't interleaved... | 19:25 |
ghostmansd | Well, at least, that's my hopes. | 19:25 |
*** lxo <lxo!~lxo@gateway/tor-sasl/lxo> has joined #libre-soc | 19:33 | |
programmerjake | ah, good idea | 19:34 |
lkcl | ah HA! the original branch point, before the rebase-update, is actually the pagereader branch | 20:06 |
lkcl | commit 38e399d17052b0eb8882e218d4fbf4fb1677d638 (HEAD, origin/pagereader, pagereader) | 20:07 |
lkcl | Author: Dmitry Selyutin <ghostmansd@gmail.com> | 20:07 |
lkcl | Date: Tue Aug 30 21:41:05 2022 +0300 | 20:07 |
lkcl | bcd.mdwn: fix cbcdtd operands | 20:07 |
lkcl | ghostmansd, ah i know what it is. there's actually nothing "wrong" - you had simply forgotten to run "pywriter" | 20:09 |
lkcl | or | 20:09 |
lkcl | "pywriter noall branch" | 20:09 |
lkcl | because i had updated the branch.mdwn pseudocode to replace target_addr with LI for b and BD for bc | 20:10 |
lkcl | programmerjake, if you can confirm that (locally) it would be good | 20:10 |
* lkcl re-running all tests now with latest master just to confirm | 20:13 | |
programmerjake | lkcl, if you pushed whatever commit your testing >1hr ago, ci should have already completed, you can just check there: https://salsa.debian.org/Kazan-team/mirrors/openpower-isa/-/branches | 20:23 |
ghostmansd[m] | Yeah quite likely | 20:25 |
lkcl | i prefer to use local testing. | 20:25 |
lkcl | ok so the results are that utf8_validate is failing (no maxu) but everything else passes | 20:25 |
ghostmansd[m] | Perhaps we could enforce pywriter be run upon modules import? | 20:26 |
lkcl | (including all branch operations, and yes i re-ran pywriter noall branch just to make sure) | 20:26 |
ghostmansd[m] | E.g. whatever crap uses caller should make it be run | 20:26 |
ghostmansd[m] | *caller.py | 20:26 |
lkcl | mmmm.... that would slow everything down. | 20:26 |
lkcl | for which there does exist a compilation-cache (a feature of python-ply) | 20:27 |
ghostmansd[m] | IIRC it takes about a couple of seconds to complete | 20:27 |
lkcl | but it only makes the reading of the BNF syntax faster, not the actual compilation | 20:27 |
lkcl | times 400 tests. | 20:27 |
lkcl | some of the unit tests have not been converted to cacheing. | 20:28 |
ghostmansd[m] | Ah OK | 20:28 |
lkcl | basically it's a lot of work to avoid just running one single command | 20:28 |
ghostmansd[m] | Yeah fair enough | 20:28 |
lkcl | which, yes, if forgotten is a pain in the ass | 20:28 |
lkcl | oh i know | 20:28 |
lkcl | *checking* it's needed should be brain-dead-simple: timestamps on the mdwn and the compiled .py | 20:29 |
lkcl | duh | 20:29 |
lkcl | huhn?? | 20:30 |
lkcl | i just did a "git diff sv_maxu_works" and it's as if it had never been rebased-in to master | 20:31 |
lkcl | huhn?? | 20:31 |
* lkcl very confused | 20:32 | |
programmerjake | thats because of all the git reverts, as i explained earlier | 20:47 |
programmerjake | they came after the commits on sv_maxu_works, so git rebase used them | 20:47 |
programmerjake | i'll fix and push later today | 20:49 |
lkcl | ok brilliant | 20:52 |
lkcl | ghostmansd[m], do go ahead and raise a pysvp64dis bugreport, it keeps track of things anyway | 20:53 |
ghostmansd[m] | Will do tomorrow, still recovering from the flu. I'm not sure where to link it, though. | 20:54 |
ghostmansd[m] | Anyway, I'll raise it tomorrow, and leave the linkage to you, OK? | 20:55 |
programmerjake | ghostmansd: hope you feel better! | 21:13 |
*** ckie <ckie!~ckie@user/cookie> has quit IRC | 22:41 | |
*** ckie <ckie!~ckie@user/cookie> has joined #libre-soc | 22:42 | |
*** octavius <octavius!~octavius@127.125.93.209.dyn.plus.net> has quit IRC | 22:58 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!