<duck2> well, by 1) using pypy magic, 2) not using prjxray.db_cache, 3) not using threads in prjxray_create_edges.py and also rearranging some code in build_channels, i could bring the build into the vpr stage in a LXC container with 2gb RAM and 1gb swap. it takes roughly 40 mins or maybe a hour
OmniMancer has joined #symbiflow
<duck2> honestly i don't think i can get away with vpr with this much ram but let's see
<duck2> litghost: indeed, vtr uses pugixml which needs 2x the file size in memory to build a dom tree https://github.com/zeux/pugixml/issues/166
<tpb> Title: Incrementally reading very large files · Issue #166 · zeux/pugixml · GitHub (at github.com)
<duck2> in fact, rr_graph.xml would be a very neat json file but i guess that would be hacking too much
<litghost> duck2: I think a zero parse format is worth investing in the future (e.g. captain proto or flatbuffers). I have a VPR branch with flatbuffer support, but it turns out the flatbuffer support in python is actually really terrible :(
_whitelogger has joined #symbiflow
Bertl_oO is now known as Bertl_zZ
i8hantanu has joined #symbiflow
_whitelogger has joined #symbiflow
i8hantanu has quit [Quit: Connection closed for inactivity]
blurSong has joined #symbiflow
blurSong has quit [Client Quit]
_whitelogger has joined #symbiflow
_whitelogger has joined #symbiflow
riha has joined #symbiflow
riha has quit [Client Quit]
i8hantanu has joined #symbiflow
proteusguy has quit [Remote host closed the connection]
<duck2> what is the problem with python's flatbuffers support? i looked at the tutorial and it does not seem worse than, say, javascript
Bertl_zZ is now known as Bertl
i8hantanu has quit [Quit: Connection closed for inactivity]
<litghost> duck2: It is implemented in python, using ctypes. It is very very slow. It actually turns it to be faster to write out the rr graph in XML, and have VPR load the XML and write it back to flatbuffers.
<litghost> duck2: It also doesn't support incremental writing, which may become important for larger graphs.
OmniMancer has quit [Quit: Leaving.]
_whitelogger has joined #symbiflow
<duck2> i think converting to libxml2 SAX would be good in terms of memory usage and ease of impl, since the current code is suitable for sax: processes one element at a time
<duck2> litghost: it's very sad. maybe pypy can help with that though, it runs pure python code quite fast.
citypw has quit [Ping timeout: 245 seconds]
kraiskil has joined #symbiflow
<litghost> Duck2: yes, sax parsing was what I was implying above
kraiskil has quit [Ping timeout: 246 seconds]
tpb has quit [Remote host closed the connection]
tpb has joined #symbiflow