Skip to content
Snippets Groups Projects
  1. Dec 21, 2017
  2. Dec 12, 2017
    • Kenny Sharma's avatar
      [NRRPLT-5674] [NRRPLT-5675] Add support for distributed Nest without MUSIC. · 764175dd
      Kenny Sharma authored
      This patch implements all functionality required for dynamic, distributed
      Nest interfaces that behave the same as single-process nest for local installs.
      
      The existing MUSIC interfaces are deprecated and now subclass the adapters
      and interfaces in the new hbp_distributed_nest package.
      
      This patch does not support distributed, cluster launching, but this can
      be adapted in the future from the existing MUSIC launchers.
      
      Change-Id: I1aac3a59843d9fdfe051a9674566f3b3f5040ac1
      764175dd
  3. Dec 03, 2017
  4. Nov 22, 2017
  5. Oct 16, 2017
  6. Aug 21, 2017
  7. Aug 04, 2017
  8. Jul 27, 2017
    • Kenny Sharma's avatar
      [NRRPLT-5486] Support multi-process RNG seed. · d3f61316
      Kenny Sharma authored
      This patch adds support for setting a global RNG seed to be used
      across all processes - the CLE and brain processes.
      
      Change-Id: I8f4554e0684fa69bb801083e5f9dbecaa275f8f8
      d3f61316
    • Kenny Sharma's avatar
      [NRRPLT-5489] Resolve performance issues by using correct timestep. · c2242850
      Kenny Sharma authored
      This patch resolves the distributed simulation performance issues by
      ensuring all brain simulation processes are using the correct simulation/
      integration timestep. Previously, the main CLE process would advance with
      the correct timestep (default 20ms), but each distributed process was
      advancing with the simulator timestep (default 0.1ms) - causing significant
      overhead and 200x the calls on each remote process.
      
      This patch improves performance to nearly realtime (small overhead for
      multiple processes) rather than the prior hundreds of times slower. Further
      optimizations can be made in the CLE as we add larger scale brains.
      
      Change-Id: Id3974b31efc24508b3c48b9e7d1e250f44db8be8
      c2242850
  9. Jul 21, 2017
  10. Jul 20, 2017
    • Kenny Sharma's avatar
      [NRRPLT-5460] Only compile numpy once if needed. · 23cf1c18
      Kenny Sharma authored
      After the removal of the additional hbp-nrp dependencies to
      support Bitbucket installation, our Jenkins builds now (again)
      build one version of numpy with scipy and one separately as
      specified by the CLE. This patch migrates the early installation of
      numpy from the CLE to mitigate this.
      
      All packages were updated to future proof dependencies, failure is
      ignored and normal installation will proceed if there is no numpy
      requirement specified.
      
      Minor pylint cleanup also performed in the setup.py files.
      
      Change-Id: I6b055439c80d931845937939261eb4b6b649c50a
      23cf1c18
  11. Jul 17, 2017
  12. Jul 12, 2017
  13. Jun 27, 2017
  14. Jun 26, 2017
  15. Jun 20, 2017
  16. Apr 23, 2017
  17. Apr 19, 2017
    • vonarnim's avatar
      Bump to 1.2.0 · 39c487be
      vonarnim authored
      Change-Id: Ica4c795a5c6da07c70627c6cd32e453915d54761
      39c487be
  18. Apr 18, 2017
    • Kenny Sharma's avatar
      [hotfix] Staging launch requires valid NRP_VARIABLES_PATH file. · c2af726f
      Kenny Sharma authored
      This patch changes the Lugano launch configuration to deploy the
      nrp-variables script generated by Puppet to the remote hosts and
      properly override NRP_VARIABLES_PATH to ensure Gazebo launch succeeds.
      
      The previous version only set the _VERSION variables, but the file is
      required to be accessible for the Gazebo launch to succeed in a staging
      environment.
      
      Change-Id: I06ec74420fdd35d3219ee311531aa8d57504936b
      c2af726f
  19. Apr 11, 2017
  20. Apr 04, 2017
  21. Mar 31, 2017
  22. Mar 29, 2017
    • Kenny Sharma's avatar
      [NRRPLT-4885] Cleanup ROS nodes created by distributed launch. · 6bf26d36
      Kenny Sharma authored
      The distributed launch now creates a ROS node in the CLE to ensure
      logs are properly redirected to stdout. This node and any future nodes
      should be cleaned up as we do in the CLELauncher, but this needs to be
      done after shutdown of all launched components.
      
      Change-Id: I00733872978d13cf4c3f319c7e594feae866d930
      6bf26d36
  23. Mar 28, 2017
    • Kenny Sharma's avatar
      [NRRPLT-4884] Load brain file for frontend. · 247f908a
      Kenny Sharma authored
      The CLE no longer loads the brain module in terms of PyNN, but it
      still needs to load the brain file source for the frontend to display.
      
      Change-Id: I3cd7833387f6e542a05a29e651b38cf2031b6c54
      247f908a
  24. Mar 27, 2017
    • Kenny Sharma's avatar
      [NRRPLT-3902] Various fixes after Lugano vizcluster testing. · e42c1245
      Kenny Sharma authored
      This patch resolves the remaining issues with distributed Nest launching on the
      Lugano vizcluster. It includes fixes to:
      
      - pass the music working directory path as an environment variable rather than
        using MUSIC file configuration, as the CLE seems to change working directory
        during the launch of an expeirment and the proxy.xml file was inaccessible
      
      - fix launch success/failure to wait for a non progress bar status message from
        the CLE, this is because the status bar messages are always marked as 'done'
        even in the event of a failure, so it was not a correct way to check success
      
      - start gzbridge on the backend VM by waiting for Gazebo to be started on the
        remote nodes, this is because the vizcluster node cannot start gzbridge and
        would not be reachable by the frontend even if it could
      
      Change-Id: Id182da74b6e01e748003bc8d7694fc83fe572336
      e42c1245
  25. Mar 24, 2017
  26. Mar 21, 2017
    • Kenny Sharma's avatar
      [NRRPLT-3902][NRRPLT-4058][NRRPLT-4840] Vizcluster support, stability, and test patch. · 973e4e56
      Kenny Sharma authored
      This patch addresses 3 broad issues:
      
      [NRRPLT-3902]
      - provides the ability to run simulations on vizcluster nodes
      - parameterize absolute paths with appropriate NRP_ environment variable that can be
        properly expanded on the target host
      - provides generic interfaces that can be extended for different hosts
      
      [NRRPLT-4058]
      - refactors the init/run mechanisms to more closely mirror the single process version
      - this enables reporting of launch failures all the way through CLE initialization (which
        includes things like Gazebo launch failures, resource allocation failures, Exceptions)
      - checks the runtime return code to determine if the mpirun command was abnormally
        terminated and properly reports the error
      - propagates all errors appropriately back to the main pipeline
      
      [NRRPLT-4840]
      - increases test coverage of the new components back up to ~90%
      - the reamining coverage is primarily for workaround/temporary code that is difficult to
        unit test without running the platform and will be removed in future commits
      
      Change-Id: Ib33a1d35b26aeee6da10c95f30bb9be9243479dc
      973e4e56
  27. Mar 20, 2017
  28. Mar 15, 2017
    • Kenny Sharma's avatar
      [NRRPLT-4722] Support faux-dynamic MUSIC ports for transfer functions. · dcde0b08
      Kenny Sharma authored
      This patch fixes a critical issue where the output of distributed simulations
      did not match that of single process simulations.
      
      The issue was due to static synapse creation for proxy connections that did
      not consider the specific spike devices that were connected - each of which
      have different default and user configurable values - and would produce
      similar but incorrect output. Further, fixed port width meant that multiple
      transfer functions would be connected to the same parrot neurons, resulting
      in cumulative output to the actual brain neurons rather than properly
      separated input from each device.
      
      To resolve this issue, the following was implemented:
      - faux large port widths to the brain allowing 5 x population connections
      - dynamic configuration of these ports via MPI communication
      - use of Nest freeze/thaw paradigm to try and reduce performance impact
      
      Thus, the CLE notifies the remote brain processes of each TF's specific
      configuration and it is replicated using the appropriate free proxy
      neurons on each side through direct Nest manipulation. Once the CLE
      notifies the processes that the transfer functions are loaded, they no
      longer accept configuration messages and run the simulation.
      
      This creates proper transfer function connectivity to workaround the lack
      of dynamic port creation in MUSIC and produces the same results as the
      single process version of the Husky experiment.
      
      This patch should absolutely be removed and fully refactored when
      MUSIC supports dynamic port creation, it is a workaround to achieve
      functionality.
      
      Change-Id: Ifee5e668c9644e679861dc7598dff9e9f5c6fa52
      dcde0b08
  29. Mar 10, 2017
    • Kenny Sharma's avatar
      [NRRPLT-4809] Use mvapich2 mpirun syntax. · 4782ac39
      Kenny Sharma authored
      We are transitioning from OpenMPI to mvapich2, which has different
      syntax for mpirun. This minor change updates the syntax and will ensure
      that both local and deployed installed are using mvapich2.
      
      The mpirun (mpiexec.hydra) is now a bit different than the OpenMPI
      behavior. When executed, it sends a SIGSTOP to the parent process tree
      and suspends everything (the bash terminal and our Python processes),
      so it's necessary to now spawn it using the os.setssid parameter to
      start a new session for the subprorcess that is separated from the
      main process tree.
      
      This patch also removes the subprocess.wait() call which according
      to the documentation can cause buffering/memory issues. In it's place
      poll() is used with live/faster output of the processes output to the
      main log.
      
      Change-Id: I3a9e255986ac6f39a01b7a1a801e8ab24a14abac
      4782ac39
  30. Feb 26, 2017
  31. Feb 09, 2017
  32. Feb 07, 2017
    • Kenny Sharma's avatar
      [hotfix] Add reservation support for launching CLE. · f09a093b
      Kenny Sharma authored
      This patch updates the distributed NEST launcher to be in line with
      the normal CLELauncher, which now requires a reservation parameter
      to be passed into the init method.
      
      Change-Id: Id6d52ea7b35b70205e35450e770cd45e9ccfc8a1
      f09a093b
    • vonarnim's avatar
      Bump to 1.1.7 · ceaeade4
      vonarnim authored
      Change-Id: I17e42fd34b998a3b9b5c05527b7e8ccdc8e46183
      ceaeade4
  33. Jan 30, 2017
  34. Jan 11, 2017
  35. Jan 05, 2017
    • vonarnim's avatar
      Bump to 1.1.5 · ea984c58
      vonarnim authored
      Change-Id: I6b5b94b9445896570067db08d88f6eef925a4217
      ea984c58
  36. Jan 04, 2017
  37. Dec 20, 2016