These pages document the python code for the SpiNNMachine module which is part of the SpiNNaker Project
This code depends on SpiNNUtils. (Combined_documentation).
SpiNNMachine¶
A python abstraction of a SpiNNaker Machine. The main functionality is
provided by spinn_machine.Machine
.
Functional Requirements¶
Create a machine which represents the current state of a machine, in terms of the available chips, cores on the chips, SDRAM available, routable links between chips and available routing entries.
Create a machine which represents an abstract ideal machine.
- There can only be one chip in the machine with given x, y coordinates
- There can only be one processor in each chip with a given processor id
- There can only be one link in the router of each chip with a given id
Add a chip to a given machine to represent an external device.
- A chip with the same x, y coordinates must not already exist in the machine
Add a link to a router of a given chip to represent a connection to an external device.
- A link with the given id must not already exist in the chip
Create a representation of a multicast routing entry to be shared between modules that deal with routing entries.
Use Cases¶
Machine
is returned as a representation of the current state of a machine.Machine
is used as an outline of a machine on which a simulation will be run e.g. for placement of executables and/or finding routes between placed executables.Machine
is extended to add a virtualChip
on the machine representing an external peripheral connected to the machine directly via a link from a chip, so that routes can be directed to and from the external peripheralMulticastRoutingEntry
is returned in a list of entries, which indicate the current set of routing entries within a multicast routing table on a chip on the machine.MulticastRoutingEntry
is sent in a list of routing entries to set up routing on a chip on the machine.
Contents¶
- spinn_machine package
- Subpackages
- Submodules
- spinn_machine.chip module
- spinn_machine.core_subset module
- spinn_machine.core_subsets module
- spinn_machine.exceptions module
- spinn_machine.link module
- spinn_machine.machine module
- spinn_machine.multicast_routing_entry module
- spinn_machine.processor module
- spinn_machine.router module
- spinn_machine.sdram module
- spinn_machine.spinnaker_triad_geometry module
- spinn_machine.virtual_machine module
- Module contents