lkcl | mikolajw, ok :) | 15:26 |
---|---|---|
Las[m] | lkcl: Do you interface with the Python modules in Coriolis directly? | 15:30 |
lkcl | Las[m], yes | 15:34 |
lkcl | the entirety of coriolis2 is predicated on that premise | 15:34 |
lkcl | Jean-Paul Chaput initially made the mistake - like so many people - of believing that python-boost would be the great way to do that | 15:35 |
Las[m] | Thanks, makes sense | 15:35 |
lkcl | like so many other people, he quickly learned that doing so was a serious mistake :) | 15:35 |
lkcl | he's been planning to get rid of it and do "direct" python bindings for a loooong time | 15:35 |
lkcl | there's some work underway for the next version | 15:35 |
lkcl | the 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 |
lkcl | ghostmansd, how you getting on with running tests based on pia? was programmerjake's install script ok? | 15:37 |
lkcl | programmerjake, could you help ghostmansd perhaps by running the unit tests in the openpower-isa xlen branch? | 15:37 |
ghostmansd | Just arrived at home; I'll check on this in about hour | 15:37 |
ghostmansd | It's like that you felt I was going to write to you :-) | 15:38 |
lkcl | :) | 15:38 |
lkcl | ohmmmmmmmmm :) | 15:38 |
lkcl | do you mind if i cherry-pick this one across to master branch https://git.libre-soc.org/?p=openpower-isa.git;a=commitdiff;h=a14ebcbc17e690976d054be5ec361c0ecc043c97 | 15:39 |
lkcl | the "RANGE" function one | 15:39 |
lkcl | looks like it'll do fine https://stackoverflow.com/questions/14486122/how-does-git-merge-after-cherry-pick-work | 15:40 |
lkcl | urrr have to rebuild everything (or hand-edit all pywriter compiled code to add RANGE to imports...) | 15:41 |
* lkcl goes with the lazy approach | 15:41 | |
ghostmansd | Should work, I'm totally fine with moving it | 15:41 |
ghostmansd | Please don't move the code with XLEN yet, I'd like to double-check if it works | 15:42 |
ghostmansd | I ain't wanna be the one who breaks everything :-) | 15:42 |
lkcl | yehyeh no perfectly understandable | 15:42 |
ghostmansd | I know it might happen one day, regardless of efforts, but hopefully not today, lol | 15:43 |
* lkcl been there done that | 15:43 | |
ghostmansd | I know you appreciate that I kept sighs in the description :-D | 15:43 |
ghostmansd | I mean, they all migrated from tokenizer to RANGE | 15:44 |
ghostmansd | I felt the code is not complete if I drop them :-D | 15:44 |
lkcl | i have no idea why it did not occur to me to add a RANGE function. it's a great idea | 15:48 |
lkcl | and yes, the whole "It's This Way Because" thing is hilarious | 15:49 |
lkcl | it stops people from getting complacent and/or making assumptions | 15:49 |
lkcl | such as "this absolutely has to be LSB0 order because, hey, that's the standard order for all modern programming languages, right?" | 15:50 |
lkcl | sigh | 15:50 |
ghostmansd | I'm just wondering, what eats 3.5 GiB in test_pipe_caller_long.py? | 16:40 |
ghostmansd | I mean, yes, I see it's python3, but what takes that much memory to check few instructions? | 16:41 |
ghostmansd | It runs some other sort of simulator? | 16:41 |
lkcl | probably not running garbage collection | 16:49 |
lkcl | or a memory leak in the rust-python bindings | 16:50 |
ghostmansd-pc | sigh | 16:50 |
ghostmansd-pc | this "pipe" still runs | 16:50 |
ghostmansd-pc | how much time does it take for it to complete? | 16:51 |
ghostmansd-pc | it certainly _does_ something, but I keep seeing this "maddld 1, 2, 3, 4" log | 17:05 |
ghostmansd-pc | and it still has not completed in, I guess, about 20 minutes | 17:05 |
ghostmansd-pc | do 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 long | 17:06 |
ghostmansd-pc | hm, let me check if it's caused by my changes | 17:08 |
lkcl | it's just an extremely large series of nested for-loops, testing tens of thousands of values | 17:09 |
lkcl | urrr... we don't actually implement madd (3-arg mul-add) | 17:11 |
lkcl | https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/test/mul/long_mul_cases.py;hb=HEAD | 17:12 |
lkcl | you can skip the entirety of the MulTestCases3Arg | 17:13 |
lkcl | it's implemented in the pseudocode but not in the HDL | 17: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 |
lkcl | yep that'd do it | 17:15 |
lkcl | ah look at long_mul_cases.py | 17:15 |
ghostmansd-pc | but it's already marked as skip_case | 17:15 |
lkcl | url above | 17:15 |
lkcl | 1 sec | 17:15 |
ghostmansd-pc | yet I see it in logs | 17:15 |
lkcl | line 198 | 17:15 |
lkcl | https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/test/mul/long_mul_cases.py;hb=HEAD#l198 | 17:15 |
ghostmansd-pc | dammit | 17:16 |
ghostmansd-pc | 198 def case_all(self): | 17:16 |
ghostmansd-pc | 199 instrs = ["maddhd", "maddhdu", "maddld"] | 17:16 |
ghostmansd-pc | for instr in instrs: | 17:16 |
lkcl | skip on that as well | 17:16 |
ghostmansd-pc | yep, will do | 17:16 |
lkcl | it will create hundreds of illegal instruction traps | 17:16 |
ghostmansd-pc | still, what'd be a reasonable way to check commits I have in at most hour or two? | 17:16 |
ghostmansd-pc | is it even possible? | 17:16 |
lkcl | probably ssh in to talos1.libre-soc.org | 17:17 |
ghostmansd-pc | ah, OK | 17:17 |
ghostmansd-pc | we've not completed that part yet | 17:17 |
lkcl | i added your ssh key | 17:17 |
lkcl | also just added you to password-less sudo access (sudo bash) | 17:18 |
ghostmansd-pc | I know, but I mean I've not launched anything there | 17:18 |
lkcl | you shouuuldn't need it but just in case | 17:18 |
lkcl | i do recommend using the "virtualenv" version of python3 installs rather than globally-install things | 17:20 |
ghostmansd-pc | IIRC we stopped at the point where I couldn't clone a repo | 17:20 |
lkcl | in dev-env-setup | 17:20 |
lkcl | use either the https git clone | 17:20 |
lkcl | or | 17:20 |
lkcl | use ssh-agent forwarding | 17:20 |
lkcl | that way you can use your laptop's ssh key | 17:21 |
ghostmansd-pc | as for ssh-agent | 17:21 |
lkcl | but git clone with ssh on the talos-2 server will forward your *laptop's* ssh credentials over to git.libre-soc.org | 17:21 |
lkcl | i've never used it, but i know it works | 17:22 |
ghostmansd-pc | I have in .ssh/config | 17:22 |
ghostmansd-pc | Host talos1.libre-soc.org | 17:22 |
ghostmansd-pc | Port 922 | 17:22 |
ghostmansd-pc | ForwardAgent yes | 17:22 |
ghostmansd-pc | I also did `eval $(ssh-agent)` | 17:22 |
ghostmansd-pc | ssh-agent is launched, as I see from `ps` | 17:23 |
ghostmansd-pc | still no luck if I attempt to clone repo | 17:23 |
lkcl | hmm i just explicitly enabled AllowSSHAgentForwarding in sshd_config | 17:23 |
lkcl | try again | 17:23 |
ghostmansd-pc | gitolite3@git.libre-soc.org: Permission denied (publickey). | 17:24 |
ghostmansd-pc | fatal: Could not read from remote repository. | 17:24 |
ghostmansd-pc | (it works outside of talos1) | 17:24 |
lkcl | hang on let me try it here | 17:24 |
ghostmansd-pc | ah, wait | 17:25 |
ghostmansd-pc | we have two talos servers? | 17:25 |
ghostmansd-pc | you mentioned talos-2 | 17:25 |
lkcl | TALOS-II is the brand name | 17:26 |
lkcl | hmmm | 17:33 |
* lkcl drums fingers. | 17:34 | |
lkcl | use https clone for now | 17:34 |
lkcl | i can't ssh in as an ordinary user using ssh-agent forwarding yet | 17:35 |
lkcl | nothing to do with gitolite3 | 17:35 |
lkcl | let me sort that | 17:35 |
ghostmansd-pc | OK, if I skip `case_all(self)`, I still have some failures, but mostly it succeeds | 17:37 |
ghostmansd-pc | pia_res = getattr(pia, fnname)(pia_inputs) | 17:37 |
ghostmansd-pc | ValueError: missing instruction input: immediate_s16 | 17:37 |
ghostmansd-pc | (this is for master) | 17:37 |
ghostmansd-pc | (not on talos1, locally) | 17:37 |
ghostmansd-pc | I guess to test on talos1, I have to go over dev-env-setup, right? | 17:40 |
lkcl | mmm... yeeeess.... except it would be best not to run the chroot setup | 17:41 |
lkcl | it's a shared server and we don't really want the chroots pissing things up | 17:41 |
lkcl | which is why i said, please use the virtualenv variant of installing the repos | 17:42 |
lkcl | but | 17:42 |
ghostmansd-pc | maybe it'd be faster for you to check the commits? | 17:42 |
lkcl | for the dependencies, yes, you'll need to run that (the apt-get install big-list-of-dependencies) | 17:42 |
ghostmansd-pc | all I wanted is checking those before cherry-pick | 17:42 |
lkcl | yes, which is why i asked programmerjake to help you as well | 17:43 |
ghostmansd-pc | but it really becomes a total pain, compared to running simple scripts from openpower-isa | 17:43 |
lkcl | i know | 17:43 |
lkcl | gimme a sec i'll checkout the branch. needs re-running pywriter | 17: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 |
lkcl | yes there should be | 17:44 |
lkcl | (without using pia) | 17:44 |
lkcl | we are going to have a hard sell on openpower-isa being in python, as it is. | 17:45 |
lkcl | if 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 WG | 17:46 |
ghostmansd-pc | maybe some of them appreciate Rust :-) | 17:48 |
ghostmansd-pc | but anyway, these tests from soc eat 3.5 GiB of memory, and give me 901 error even if I use `master` branch of openpower-isa | 17:49 |
ghostmansd-pc | 1) perhaps rust has nothing to do with it; 2) it without doubts may be caused by the fact that I did something wrong | 17:49 |
ghostmansd-pc | still 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 |
lkcl | ok i've run the install-hdl-deps script for you | 17:53 |
lkcl | so please *don't* try running that | 17:54 |
lkcl | i had to downgrade /etc/apt/sources.list to buster (stable) temporarily whilst running the script | 17:54 |
lkcl | otherwise it would try to update with a whole stack of debian/testing variants of the dependencies | 17:54 |
lkcl | so please run the hdl-dev-repos-virtualenv script *AS A USER* not root | 17:55 |
lkcl | for a *LOCAL* install of the repos in your own home directory | 17:55 |
ghostmansd-pc | it seems that hdl-dev-repos-virtualenv should not use SUDO_USER then, right?... | 18:06 |
ghostmansd-pc | and should use USER instead | 18:07 |
ghostmansd-pc | ok, it seems it launched pywriter | 18:10 |
ghostmansd-pc | hopefully things will go well | 18:10 |
programmerjake | My 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 today | 18:33 |
programmerjake | maybe >100000 open files... | 18:34 |
programmerjake | the 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 | ./mkpinmux.sh: 3: python2: not found | 18:54 |
ghostmansd-pc | make: *** [Makefile:10: mkpinmux] Error 127 | 18:54 |
ghostmansd-pc | ¯\_(ツ)_/¯ | 18:54 |
lkcl | ghostmansd-pc: installed | 19:31 |
lkcl | we may also need to create a page for SVP64 CR-related operations | 19:33 |
lkcl | because like SV Branches they need some extra mode bits that there isn't space for in the standard 24 bits | 19:36 |
lkcl | sorry, there's not space in the 5 "mode" bits | 19:36 |
cesar | lkcl: On the latest signal renaming, in core.py, "ivalid_i" (instruction valid) was somehow renamed to "ii_valid". I believe the correct would be "i_ivalid". | 21:10 |
lkcl | ahh good find, do rename it back to ivalid_i | 21:59 |
lkcl | atually, i'll do it | 21:59 |
lkcl | don | 22:01 |
lkcl | it didn't "damage" things, a consistent name-change, hence i didn't spot it | 22:01 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!