Releases: project-rig/rig
Releases · project-rig/rig
v1.6.0
This release includes changes to the NER routing algorithm which reduce router runtimes by 2-3x and memory consumption is halved. Amongst other internal changes, the RoutingTree object now stores references to its children in a list rather than a set. This change should not impact most software thanks (for once) to duck typing but any new software which builds RoutingTrees should use lists to store children.
v1.5.1
This release is a documentation-only release and contains no software or API changes. The following changes to the documentation have occurred: * A tutorial introducing Rig going from 'hello world' to a full application (a digital circuit simulator) has been added. * The documentation home-page has been updated to group all of the other tutorials into one list. * A number of <10-line example scripts have been added as a quick-start for impatient/expert users.
v1.5.0
The default-route removal table minimisation algorithm now runs in linear time on certain input tables rather than O(N^2) time. Specifically, if the input routing table contains entries which all have the same mask (and unique keys), the O(N^2) alias checking process is skipped. For users whose routing tables do not meet these constraints but which are known to be alias free, the new `check_for_aliases` argument may be used to force this check to be skipped.
v1.4.0
This release sits somewhere between a feature and bugfix release... * Support recipt of non-numeric semantic version numbers from SpiNNaker and BMPs. The ChipInfo and BMPInfo now contain new fields containing this extra version information. * Add forward-compatible get_chip_info command which ignores any unrecognised fields which may be added to the response in the future, rather than crashing.
v1.3.0
* Improve type cast utilities: New methods `float_to_fp` and `fp_to_float` work with signed and unsigned values as expected. New methods and `NumpyFloatToFixConverter` can now have negative numbers of fractional bits or more fractional bits than can be represented in the result. This release deprecates superseded functions `float_to_fix` and `fix_to_float`.
v1.2.0
New features: * MachineController now features a get_iobuf_bytes() method which allows the IOBUF to be read as a byte string which may be valuable in the case of partially corrupt buffers. Bug fixes: * TruncationWarnings produced by file-like IO objects are now accompanied by a stacktrace starting with the call which produced them. * In certain rare circumstances on non-square torus machines, geometry.shortest_torus_path would produce non-minimal routes with a low probablity. This issue has now been fixed.
v1.1.1
Bugfix: fixes rig-info command.
v1.1.0
New feature: MemoryIO now produces a warning when a read/write is truncated.
v1.0.0
This release sees Rig move on to SpiNNaker Tools 2.0.0 which most notably includes a new and improved version of SC&MP. A '1.0.0' release should really have been made some time ago, it has been finally made now to formally indicate the API is intentionally stable(!) * When booting, width and height need no longer be supplied. * Booting large machines is now reliable and booting small machines is now fast. Rig's boot commands now wait for the machine to report that it has been booted. * Machines with odd shapes, dead regions and blacklisted hardware are now supported. * Geometry functions updated in support of oddly shaped machines.
v0.15.0
Breaking changes ---------------- The file-like MemoryIO interface to SpiNNaker memory no longer supports buffered writes. New features ------------ * MachineController now provides an 'sdram_free' method for freeing individual SDRAM allocations. Bug fixes --------- * The discover_connections method of MachineController now tolerates Ethernet-connected chips failing after boot. * The CKernel of the SA algorithm was previously non-deterministic and depended on the order of iteration of a python set object. * The __str__ function for routing-table entries now produces deterministic output. * Switch from coveralls to codecov for code-coverage checking service as coveralls had become unreliable and buggy.