Skip to content

Releases: project-rig/rig

v1.6.0

07 Jun 18:39
Compare
Choose a tag to compare
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

01 Jun 10:18
Compare
Choose a tag to compare
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

24 May 09:32
Compare
Choose a tag to compare
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

19 May 14:13
Compare
Choose a tag to compare
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

16 May 10:01
Compare
Choose a tag to compare
* 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

05 May 07:08
Compare
Choose a tag to compare
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

07 Apr 11:11
Compare
Choose a tag to compare
Bugfix: fixes rig-info command.

v1.1.0

23 Mar 12:15
Compare
Choose a tag to compare
New feature: MemoryIO now produces a warning when a read/write is truncated.

v1.0.0

18 Mar 13:55
Compare
Choose a tag to compare
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

15 Mar 14:28
Compare
Choose a tag to compare
v0.15.0 Pre-release
Pre-release
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.