Monday, 2023-08-28

*** tpb <[email protected]> has joined #yosys00:00
loftyThe `cook` code confuses me; I realise it's for counting the number of unique inputs, but if you keep the LUT inputs in a cut sorted then deduplication is just std::set_union00:03
*** bjorkintosh <bjorkintosh!~bjork@2600:1700:5400:c80:b0c3:a0a9:f298:8> has joined #yosys01:04
*** notgull <notgull!~notgull@ec2-50-112-148-23.us-west-2.compute.amazonaws.com> has quit IRC (Ping timeout: 246 seconds)02:18
*** notgull <notgull!~notgull@2600:1f14:8f4:3100:e2a2:c920:847d:d23> has joined #yosys02:20
*** FabM <[email protected]> has joined #yosys06:16
povikyou mean because of the 3 of the last 4 testcases?06:57
povikthere are other explanations, toymap and abc might not be working on exactly the same aig06:58
povikalso there's an edge case where toymap needs to connect a PO to the rest of the network with an inverter, making the depth 1 greater than what the cut mapper comes up with07:01
povik(this is a quirk of the internal representation for now)07:01
povikthat can't explain random_control/priority.aig07:02
poviki think i should do proper hashing of the inputs in a cut, instead of adding the pointers :p07:03
loftypovik: I doubt the problem is that you're working on different AIG; I've been frustrated by this issue before and the problem really was a lack of cut diversity07:08
povikok, the improper cut hashing is what i suspect first07:09
loftyBut it's easy enough to test if the problem is that it's working on wrong aig07:10
loftyThe input and output netlists must be equivalent, so you can so `equiv_opt toymap` or whatever07:11
povikyeah, that passes last time i checked07:12
povikbut there's no guarantee `abc -g aig` gives the same graph as abc uses for lut mapping07:12
loftywhitequark[cis]: beginning to wonder if that command should be renamed `equiv_pass` instead07:12
loftyOr something 07:13
loftypovik: Yosys can read aiger files07:13
loftySo use them directly and operate directly on that07:13
loftyI'm pretty sure that the EPFL benchmarks have already been optimised enough that the ABC opts don't do anything07:16
loftyWith the point of there being no low hanging fruit07:16
poviknot true actually07:16
povik%fraig -x does tremendous cutting down of div.aig07:17
povikand that's one of the few i looked into07:17
povikerr, &fraig -x07:17
loftyOkay, but the reference numbers have *no* optimisation07:18
loftyAnd you still can't match ABC07:18
povikyou mean what i use for abc baseline?07:18
povikthat's *including* the optimisation07:18
loftyThe official numbers given by EPFL.07:19
povikah07:19
povikhaven't checked those07:19
loftyhttps://github.com/lsils/benchmarks07:19
loftyThose are what you should compare against, IMO07:19
loftyOtherwise you're making things more difficult for yourself07:19
poviki have no issue with that07:20
poviki'm interested in implementing some degree of aig preprocessing into toymap07:20
loftyLike, maybe ABC is discovering structural choices while optimising; those can't cross the ABC/Yosys border07:20
loftyA lot of AIG preprocessing algorithms start with the netlist mapped into cuts anyway07:21
povik09:20 < lofty> Like, maybe ABC is discovering structural choices while optimising; those can't cross the ABC/Yosys border07:22
povikone think i want to check is whether abc uses *any* structural choices anywhere in the epfl benchmark07:22
poviki find out what i need to look for in the `if -v` output07:22
poviks/i find out/i found out/07:22
loftyI tend to use &if over if simply because I'm a snob /j07:23
povikso far it seems more like a legend of "abc does structural choices! you can't match that" instead of something that actually makes a difference07:23
povikbut maybe i will be proven wrong07:24
loftyWhat optimisation passes are you using?07:24
povikthe default yosys script07:24
lofty`abc` or `abc9`?07:25
povikthe blank variety07:25
povikerr, by that i mean `abc`07:25
loftyHmm. There *are* calls to dc2 and dch -f07:26
loftySo there *should* be choices generated07:26
poviki will let you know what i find out07:26
loftyI will be curious to see how you might represent choices, since it's something I've discussed with the others in the past07:31
*** ec_ <ec_!~ec@gateway/tor-sasl/ec> has quit IRC (Remote host closed the connection)08:21
*** ec_ <ec_!~ec@gateway/tor-sasl/ec> has joined #yosys08:21
*** nak <nak!~nak@yosys/nak> has joined #yosys09:04
*** indy <[email protected]> has quit IRC (Quit: ZNC 1.8.2 - https://znc.in)12:38
*** lexano <[email protected]> has joined #yosys12:38
*** indy_ <[email protected]> has joined #yosys12:42
*** josuah <[email protected]> has joined #yosys13:56
*** krispaul <[email protected]> has quit IRC (Quit: WeeChat 3.5)14:56
*** kristianpaul <kristianpaul!~paul@user/kristianpaul> has joined #yosys14:56
*** hrberg <[email protected]> has joined #yosys15:04
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 248 seconds)15:05
*** lkcl <[email protected]> has quit IRC (Ping timeout: 245 seconds)17:31
*** knielsen <[email protected]> has left #yosys17:50
*** V <V!~v@ircpuzzles/2022/april/winner/V> has quit IRC (Ping timeout: 246 seconds)17:51
*** indy_ is now known as indy17:59
whitequark[cis]lofty: no objection to renaming18:31
*** lkcl <[email protected]> has joined #yosys18:37
*** V <V!~v@ircpuzzles/2022/april/winner/V> has joined #yosys19:25
*** V <V!~v@ircpuzzles/2022/april/winner/V> has quit IRC (Ping timeout: 240 seconds)19:55
*** V <V!~v@ircpuzzles/2022/april/winner/V> has joined #yosys20:04
*** V <V!~v@ircpuzzles/2022/april/winner/V> has quit IRC (Ping timeout: 244 seconds)20:08
*** V <V!~v@ircpuzzles/2022/april/winner/V> has joined #yosys20:23
*** Guest22 <[email protected]> has quit IRC (Quit: Client closed)21:37
*** lumo_e <[email protected]> has joined #yosys22:08
*** nonchip <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)22:17
*** nonchip <[email protected]> has joined #yosys22:17

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!