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

Invalid axon type bug #278

Draft
wants to merge 24 commits into
base: main
Choose a base branch
from
Draft

Invalid axon type bug #278

wants to merge 24 commits into from

Commits on Oct 30, 2019

  1. Ensure scipy.sparse is properly imported

    Some import statements just imported `scipy` when we needed
    `scipy.sparse`. Import order differences made this an occasional
    bug. Fixes #252.
    hunse committed Oct 30, 2019
    Configuration menu
    Copy the full SHA
    c19fb0d View commit details
    Browse the repository at this point in the history
  2. Run tests in python 3.6 by default

    This allows us to do a proper `bones-check` with `black`.
    The hardware tests are still in 3.5.2 to support NxSDK.
    
    This commit also fixes some slight changes by `nengo-bones` 0.6.0
    that were missed in the upgrade commit because of the missing
    `bones-check`.
    hunse committed Oct 30, 2019
    Configuration menu
    Copy the full SHA
    26140ee View commit details
    Browse the repository at this point in the history
  3. Support NxSDK 0.8.7

    Not backwards compatible with previous versions.
    hunse committed Oct 30, 2019
    Configuration menu
    Copy the full SHA
    805778a View commit details
    Browse the repository at this point in the history
  4. Support NxSDK 0.9.0

    hunse committed Oct 30, 2019
    Configuration menu
    Copy the full SHA
    ad9a353 View commit details
    Browse the repository at this point in the history
  5. Allow user to force precompute=False

    This is useful for testing SNIPs.
    hunse committed Oct 30, 2019
    Configuration menu
    Copy the full SHA
    28322f2 View commit details
    Browse the repository at this point in the history
  6. Add wall-time step timers to Simulator

    - Add a timer around the `Simulator._run_steps` call, to measure the
      time taken for all steps.
    - Connect to the board outside the timing loop, so that this does not
      count towards the step time.
    - Add a timer specific to SNIPs, to get the most accurate timing
      (after we call the board run function, so all setup has happened).
    hunse committed Oct 30, 2019
    Configuration menu
    Copy the full SHA
    8c10b00 View commit details
    Browse the repository at this point in the history
  7. Only create global spike generator if required

    This reduces unnecessary communication with the chip
    hunse committed Oct 30, 2019
    Configuration menu
    Copy the full SHA
    3b93155 View commit details
    Browse the repository at this point in the history
  8. Add host SNIP for faster communication

    The host SNIP runs on the host and facilitates communication
    with the superhost using sockets. This is faster than using
    the default RPC interface.
    
    We also take care to make sure both the host and chip SNIPs
    end properly, by sending a message with a negative spike count.
    This helps to eliminate board hangs.
    
    To allow the host SNIP to work with multiple `run` calls, we
    keep it idling in between `run` calls, waiting for a message.
    If the board disconnects before a subsequent run call,
    the negative spike count message will tell the host SNIP to stop.
    hunse committed Oct 30, 2019
    Configuration menu
    Copy the full SHA
    1f00d55 View commit details
    Browse the repository at this point in the history
  9. Larger channel packet size

    This improves performance by reducing the number of channel reads.
    hunse committed Oct 30, 2019
    Configuration menu
    Copy the full SHA
    24edd65 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    af847d3 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    5af0888 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    df56f68 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2019

  1. Get core less in learn SNIP

    hunse committed Nov 4, 2019
    Configuration menu
    Copy the full SHA
    f788346 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9210d6a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5f43078 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    af494a6 View commit details
    Browse the repository at this point in the history
  5. Flip host2chip and host step order

    This allows the Nengo model on the (super)host to be running
    simultaneously with the chip, reducing time per step but adding
    in a one step delay between the (super)host model and chip model.
    hunse committed Nov 4, 2019
    Configuration menu
    Copy the full SHA
    922c27b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    254944e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    cda7a5f View commit details
    Browse the repository at this point in the history
  8. WIP: Add simplified collect_receiver_info for one step

    We're typically calling it one step at a time, in which case we
    can simplify it and make it faster.
    
    TODO:
    - Fix up original collect_receiver_info and remove profiling code
    - The original can probably do the same thing were we get rid of
      the receive and collect functions on the nodes, since essentially
      these just populate and read lists in those nodes.
    - Only use the single step function if we know we'll be running
      one step at a time (this might be always right now).
    hunse committed Nov 4, 2019
    Configuration menu
    Copy the full SHA
    67c4927 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2019

  1. DecodeNeurons.get_ensemble user-friendly

    Previously, fixed checking of `neurons_per_dimension` and fixed
    value for `add_to_container` made `get_ensemble` not particularly
    useful for users trying to make their own `DecodeNeurons`. Now,
    these are configurable, and default to the values that users would
    likely want.
    hunse committed Nov 5, 2019
    Configuration menu
    Copy the full SHA
    5e75116 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2019

  1. WIP: Add parallel_ensembles benchmark

    This benchmark has a number of ensembles in parallel on the chip.
    It can be used to test chip input and output speeds, and learning.
    
    TODO:
    - Uses weird intercepts. Just use normal ones.
    - Currently only set up for learning. Allow it to be used without
      learning, and without funnelling on inputs and outputs.
    hunse committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    6773784 View commit details
    Browse the repository at this point in the history
  2. squash! WIP: Add parallel_ensembles benchmark

    - Remove weird intercept distribution
    - Allow input and output funnelling and learning to be configured
    hunse committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    b2deba7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    836e9d2 View commit details
    Browse the repository at this point in the history