Sunday, 2021-08-29

lkclmikolajw, ok :)15:26
Las[m]lkcl: Do you interface with the Python modules in Coriolis directly?15:30
lkclLas[m], yes15:34
lkclthe entirety of coriolis2 is predicated on that premise15:34
lkclJean-Paul Chaput initially made the mistake - like so many people - of believing that python-boost would be the great way to do that15:35
Las[m]Thanks, makes sense15:35
lkcllike so many other people, he quickly learned that doing so was a serious mistake :)15:35
lkclhe's been planning to get rid of it and do "direct" python bindings for a loooong time15:35
lkclthere's some work underway for the next version15:35
lkclthe entirety of coriolis2, you run basically as a massive python program but where the majority of the "heavy lifting" is done in c++15:36
lkclghostmansd, how you getting on with running tests based on pia? was programmerjake's install script ok?15:37
lkclprogrammerjake, could you help ghostmansd perhaps by running the unit tests in the openpower-isa xlen branch?15:37
ghostmansdJust arrived at home; I'll check on this in about hour15:37
ghostmansdIt's like that you felt I was going to write to you :-)15:38
lkclohmmmmmmmmm :)15:38
lkcldo you mind if i cherry-pick this one across to master branch;a=commitdiff;h=a14ebcbc17e690976d054be5ec361c0ecc043c9715:39
lkclthe "RANGE" function one15:39
lkcllooks like it'll do fine
lkclurrr have to rebuild everything (or hand-edit all pywriter compiled code to add RANGE to imports...)15:41
* lkcl goes with the lazy approach15:41
ghostmansdShould work, I'm totally fine with moving it15:41
ghostmansdPlease don't move the code with XLEN yet, I'd like to double-check if it works15:42
ghostmansdI ain't wanna be the one who breaks everything :-)15:42
lkclyehyeh no perfectly understandable15:42
ghostmansdI know it might happen one day, regardless of efforts, but hopefully not today, lol15:43
* lkcl been there done that15:43
ghostmansdI know you appreciate that I kept sighs in the description :-D15:43
ghostmansdI mean, they all migrated from tokenizer to RANGE15:44
ghostmansdI felt the code is not complete if I drop them :-D15:44
lkcli have no idea why it did not occur to me to add a RANGE function. it's a great idea15:48
lkcland yes, the whole "It's This Way Because" thing is hilarious15:49
lkclit stops people from getting complacent and/or making assumptions15:49
lkclsuch as "this absolutely has to be LSB0 order because, hey, that's the standard order for all modern programming languages, right?"15:50
ghostmansdI'm just wondering, what eats 3.5 GiB in
ghostmansdI mean, yes, I see it's python3, but what takes that much memory to check few instructions?16:41
ghostmansdIt runs some other sort of simulator?16:41
lkclprobably not running garbage collection16:49
lkclor a memory leak in the rust-python bindings16:50
ghostmansd-pcthis "pipe" still runs16:50
ghostmansd-pchow much time does it take for it to complete?16:51
ghostmansd-pcit certainly _does_ something, but I keep seeing this "maddld 1, 2, 3, 4" log17:05
ghostmansd-pcand it still has not completed in, I guess, about 20 minutes17:05
ghostmansd-pcdo we have something more straightforward? I already gave the thing 6 GiB of memory out of my 8, and it looks like I skip memory failures, but it's so long17:06
ghostmansd-pchm, let me check if it's caused by my changes17:08
lkclit's just an extremely large series of nested for-loops, testing tens of thousands of values17:09
lkclurrr... we don't actually implement madd (3-arg mul-add)17:11
lkclyou can skip the entirety of the MulTestCases3Arg17:13
lkclit's implemented in the pseudocode but not in the HDL17:14
ghostmansd-pc@skip_case("madd not implemented")17:15
ghostmansd-pc    def case_maddld(self):17:15
ghostmansd-pc        lst = ["maddld 1, 2, 3, 4"]17:15
lkclyep that'd do it17:15
lkclah look at long_mul_cases.py17:15
ghostmansd-pcbut it's already marked as skip_case17:15
lkclurl above17:15
lkcl1 sec17:15
ghostmansd-pcyet I see it in logs17:15
lkclline 19817:15
ghostmansd-pc 198     def case_all(self):17:16
ghostmansd-pc 199         instrs = ["maddhd", "maddhdu", "maddld"]17:16
ghostmansd-pcfor instr in instrs:17:16
lkclskip on that as well17:16
ghostmansd-pcyep, will do17:16
lkclit will create hundreds of illegal instruction traps17:16
ghostmansd-pcstill, what'd be a reasonable way to check commits I have in at most hour or two?17:16
ghostmansd-pcis it even possible?17:16
lkclprobably ssh in to talos1.libre-soc.org17:17
ghostmansd-pcah, OK17:17
ghostmansd-pcwe've not completed that part yet17:17
lkcli added your ssh key17:17
lkclalso just added you to password-less sudo access (sudo bash)17:18
ghostmansd-pcI know, but I mean I've not launched anything there17:18
lkclyou shouuuldn't need it but just in case17:18
lkcli do recommend using the "virtualenv" version of python3 installs rather than globally-install things17:20
ghostmansd-pcIIRC we stopped at the point where I couldn't clone a repo17:20
lkclin dev-env-setup17:20
lkcluse either the https git clone17:20
lkcluse ssh-agent forwarding17:20
lkclthat way you can use your laptop's ssh key17:21
ghostmansd-pcas for ssh-agent17:21
lkclbut git clone with ssh on the talos-2 server will forward your *laptop's* ssh credentials over to git.libre-soc.org17:21
lkcli've never used it, but i know it works17:22
ghostmansd-pcI have in .ssh/config17:22
ghostmansd-pcHost talos1.libre-soc.org17:22
ghostmansd-pc        Port 92217:22
ghostmansd-pc        ForwardAgent yes17:22
ghostmansd-pcI also did `eval $(ssh-agent)`17:22
ghostmansd-pcssh-agent is launched, as I see from `ps`17:23
ghostmansd-pcstill no luck if I attempt to clone repo17:23
lkclhmm i just explicitly enabled AllowSSHAgentForwarding in sshd_config17:23
lkcltry again17:23 Permission denied (publickey).17:24
ghostmansd-pcfatal: Could not read from remote repository.17:24
ghostmansd-pc(it works outside of talos1)17:24
lkclhang on let me try it here17:24
ghostmansd-pcah, wait17:25
ghostmansd-pcwe have two talos servers?17:25
ghostmansd-pcyou mentioned talos-217:25
lkclTALOS-II is the brand name17:26
* lkcl drums fingers.17:34
lkcluse https clone for now17:34
lkcli can't ssh in as an ordinary user using ssh-agent forwarding yet17:35
lkclnothing to do with gitolite317:35
lkcllet me sort that17:35
ghostmansd-pcOK, if I skip `case_all(self)`, I still have some failures, but mostly it succeeds17:37
ghostmansd-pc    pia_res = getattr(pia, fnname)(pia_inputs)17:37
ghostmansd-pcValueError: missing instruction input: immediate_s1617:37
ghostmansd-pc(this is for master)17:37
ghostmansd-pc(not on talos1, locally)17:37
ghostmansd-pcI guess to test on talos1, I have to go over dev-env-setup, right?17:40
lkclmmm... yeeeess.... except it would be best not to run the chroot setup17:41
lkclit's a shared server and we don't really want the chroots pissing things up17:41
lkclwhich is why i said, please use the virtualenv variant of installing the repos17:42
ghostmansd-pcmaybe it'd be faster for you to check the commits?17:42
lkclfor the dependencies, yes, you'll need to run that (the apt-get install big-list-of-dependencies)17:42
ghostmansd-pcall I wanted is checking those before cherry-pick17:42
lkclyes, which is why i asked programmerjake to help you as well17:43
ghostmansd-pcbut it really becomes a total pain, compared to running simple scripts from openpower-isa17:43
lkcli know17:43
lkclgimme a sec i'll checkout the branch.  needs re-running pywriter17:43
ghostmansd-pc(btw, shouldn't we have some tests for mut and div in openpower-isa in the same form as we have for BCD?)17:44
lkclyes there should be17:44
lkcl(without using pia)17:44
lkclwe are going to have a hard sell on openpower-isa being in python, as it is.17:45
lkclif it critically relies on an additional programming language we risk the entire project being rejected when it comes to proposing it as part of the Compliance Suite to the OPF ISA WG17:46
ghostmansd-pcmaybe some of them appreciate Rust :-)17:48
ghostmansd-pcbut anyway, these tests from soc eat 3.5 GiB of memory, and give me 901 error even if I use `master` branch of openpower-isa17:49
ghostmansd-pc1) perhaps rust has nothing to do with it; 2) it without doubts may be caused by the fact that I did something wrong17:49
ghostmansd-pcstill I'd like to have a simple way to check the code, and moving to standalone repository to launch the script which eats 3.5 GiB of memory only to give me 901 error (and also having to skip some test cases!)...17:51
ghostmansd-pc...well, it's kinda complex, compared to how I checked things before.17:51
lkclok i've run the install-hdl-deps script for you17:53
lkclso please *don't* try running that17:54
lkcli had to downgrade /etc/apt/sources.list to buster (stable) temporarily whilst running the script17:54
lkclotherwise it would try to update with a whole stack of debian/testing variants of the dependencies17:54
lkclso please run the hdl-dev-repos-virtualenv script *AS A USER* not root17:55
lkclfor a *LOCAL* install of the repos in your own home directory17:55
ghostmansd-pcit seems that hdl-dev-repos-virtualenv should not use SUDO_USER then, right?...18:06
ghostmansd-pcand should use USER instead18:07
ghostmansd-pcok, it seems it launched pywriter18:10
ghostmansd-pchopefully things will go well18:10
programmerjakeMy guess is the tests use 3.5GB ram because they run `gas` as an external process for every test case without caching and end up with >1000 open files (we haven't gotten around to fixing that), I don't power-instruction-analyzer is the cause...will check tomorrow since I'm busy today18:33
programmerjakemaybe >100000 open files...18:34
programmerjakethe zillions of `gas` executions is probably what makes it really slow (especially if you have a hdd instead of a ssd)18:36
ghostmansd-pc./ 3: python2: not found18:54
ghostmansd-pcmake: *** [Makefile:10: mkpinmux] Error 12718:54
lkclghostmansd-pc: installed19:31
lkclwe may also need to create a page for SVP64 CR-related operations19:33
lkclbecause like SV Branches they need some extra mode bits that there isn't space for in the standard 24 bits19:36
lkclsorry, there's not space in the 5 "mode" bits19:36
cesarlkcl: On the latest signal renaming, in, "ivalid_i" (instruction valid) was somehow renamed to "ii_valid". I believe the correct would be "i_ivalid".21:10
lkclahh good find, do rename it back to ivalid_i21:59
lkclatually, i'll do it21:59
lkclit didn't "damage" things, a consistent name-change, hence i didn't spot it22:01

Generated by 2.17.1 by Marius Gedminas - find it at!