Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Routing keys could encode functionality efficiently #34

Open
lplana opened this issue Aug 30, 2020 · 0 comments
Open

Routing keys could encode functionality efficiently #34

lplana opened this issue Aug 30, 2020 · 0 comments

Comments

@lplana
Copy link
Member

lplana commented Aug 30, 2020

Currently, routing keys are assigned by the GFE using the SpiNNTools default key assignment algorithm. This works correctly but a targeted algorithm could result in a more efficient use of the key space.

Currently, each vertex requests a part of the key space in which to indicate the unit being processed and, additionally, encode functionality. The added features normally include: packet type and colour, execution phase and group/subgroup data. These could be encoded efficiently in the routing key, saving key space and also saving decoding effort in the receiving core.

The assignment must be done carefully so that packets are sent only to where they are needed, as is done currently. This requires correct key/mask combinations.

Two possible approaches were suggested by the SpiNNaker software team, each with pros and cons:

  • use FixedKeyAndMaskConstraint in each machine vertex. This tells the allocator to use the key and mask provided rather than generating one itself.
  • write a targeted key allocator to replace the default one.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant