On Mon, Apr 15, 2019 at 11:50 AM Philipp Gühring pg@futureware.at wrote:
So my conclusion back then was that if we cannot find a way to do it reproducable in parallel, that we would need at least a reproduceable way that is single-threaded, so that the user could choose between fast and non-reproducable or slow and reproduceable.
the design of alliance / coriolis2 lends itself to this approach, by being mostly programmable. configuration files are actually python code snippets, written with a syntax that is so basic that it might as well be a .txt file.
by working recursively to create progressively larger cells - some of which may be programmatically generated (yes, using python to specify placement as well as routing), some of which may call on the assistance of the auto-router, some of which may have involved manual placement - it becomes possible to perform the reproduceability that you describe *and* also not end up in heavy compromise situations, because, overall, there are so many sub-tasks that even if some of them need to be single-processor tasks, the entire design does not.
l.