Thursday, 2023-06-15

*** yambo <yambo!> has joined #libre-soc01:50
programmerjakeI did some more profiling and, for the part of the utf-8 tests I profiled, something like 80% of the simulator's run-time is taken up by nmigen simulating the decoder...since ghostmansd has written insndb which iirc can do the full decoding process, I think we should switch ISACaller to use that instead of the nmigen-simulated decoder, it'll likely run >2x as fast03:41
programmerjakethis doesn't have to happen right now...03:41
programmerjake(discovering that was a bit unexpected for me, I was expecting most the runtime to be used up by executing the pseudocode)03:43
programmerjakeprofiling command I ran:03:44
programmerjake`(py-spy record -f speedscope -o prof.json -- pytest --full-trace -n 0 -v src/openpower/decoder/isa/ pid=$!; sleep 30; kill -SIGINT $!; wait)`03:44
programmerjakeoh, whoops, just realized I never used the $pid variable...guess it worked anyway :)03:45
programmerjakegetting a backtrace from a generator that isn't currently running is a bit annoying...03:46
*** ghostmansd <ghostmansd!> has quit IRC07:27
*** ghostmansd <ghostmansd!> has joined #libre-soc08:19
*** ghostmansd <ghostmansd!> has quit IRC08:39
*** TheDot <TheDot!> has quit IRC08:47
*** TheDot <TheDot!> has joined #libre-soc08:48
*** ghostmansd <ghostmansd!> has joined #libre-soc09:10
*** ghostmansd <ghostmansd!> has quit IRC09:23
*** ghostmansd <ghostmansd!> has joined #libre-soc09:23
*** ghostmansd <ghostmansd!> has quit IRC09:32
*** ghostmansd[m] <ghostmansd[m]!> has quit IRC09:49
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc09:50
*** octavius <octavius!> has joined #libre-soc13:00
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC13:17
*** ghostmansd[m] <ghostmansd[m]!> has joined #libre-soc13:18
*** ghostmansd <ghostmansd!> has joined #libre-soc13:23
*** ghostmansd <ghostmansd!> has quit IRC13:32
*** octavius <octavius!> has quit IRC13:53
*** sauce <sauce!~sauce@2a07:9944:2222:1d::a> has quit IRC14:37
*** sauce <sauce!> has joined #libre-soc14:37
*** ghostmansd[m] <ghostmansd[m]!> has quit IRC15:36
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc15:37
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC15:55
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc15:56
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC16:18
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has joined #libre-soc16:20
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@> has quit IRC16:44
*** ghostmansd[m] <ghostmansd[m]!> has joined #libre-soc16:46
*** sauce <sauce!> has quit IRC16:57
*** sauce <sauce!> has joined #libre-soc17:02
*** ghostmansd <ghostmansd!> has joined #libre-soc17:59
lkclprogrammerjake, yes absolutely - i really want to do that, but it's a massive job18:03
lkclall instances of "yield" have to go - hundreds of them throughout the *entirety* of ISACaller18:03
*** ghostmansd <ghostmansd!> has quit IRC19:05
*** ghostmansd <ghostmansd!> has joined #libre-soc19:05
*** ghostmansd <ghostmansd!> has left #libre-soc19:05
*** ghostmansd <ghostmansd!> has joined #libre-soc19:06
*** tplaten <tplaten!~tplaten@> has joined #libre-soc19:18
ghostmansdlkcl, any updates or estimations on questions in 1094? Any implementation-wise comments?19:23
ghostmansdThe task is assigned to you, these two are show stoppers for me.19:24
*** tplaten <tplaten!~tplaten@> has quit IRC21:11
lkclghostmansd, hiya sorry been speaking with my friend from HK i haven't seen in 3 years. i read it, just haven't replied yet21:11
lkcli'm really happy with the API, and how it works: it's a frickin awesome piece of work and extremely important, it'll literally be the bedrock of everything we do21:12
lkcli mean: eeeverything (!)21:12
lkclcan i suggest nodeid as it's really short?21:13
lkcl    @_contextlib.contextmanager21:13
lkcl    def __call__(self, nodeid, node):21:14
lkcl        ...21:14
ghostmansd[m]Sorry, missing a bit. What do you mean by nodeid?21:21
ghostmansd[m]FWIW, the API is generic enough. For dict, for example, it will traverse both keys and values.21:22
ghostmansd[m](of course depending on what the hook does)21:22
ghostmansd[m]cf. section "walkers" here:
ghostmansd[m]No rush, just wanted to confirm you didn't miss my comments.21:25
ghostmansd[m]When you have time, could you please estimate pros and cons of where this module should rest (I doubt it should be a different repo, even though totally open source?, and whether we need it in pypi, and so on and so on.21:26
ghostmansd[m]And, also, please keep in mind that we really, really need to invent some criteria on what we accept and what we ban.21:27
ghostmansd[m]The latter is of no rush, but I think we should have such document eventually.21:27
ghostmansd[m]If you think the design is OK, and you came to conclusion on how to incorporate it (PyPI, part of openpower-isa, our own repo, or even or other server), please ping me on your thoughts and update the task. It's been hanged on you by me, I reassigned it and changed the budget, please edit as you feel appropriate. But first I need your decisions.21:29
ghostmansd[m]I like if it's both on some repository and in PyPI too, because I'd like of others could use this concept for totally different needs. However, I think relying on is a bit way too brave assumption.21:45

Generated by 2.17.1 by Marius Gedminas - find it at!