Skip to content

May 2020

Pramod Kumbhar edited this page Jun 13, 2020 · 22 revisions

 Time: 15.5.2020, 16:00 CEST; 10:00 EST Place: Zoom

NOTE: Please contact one of the NEURON developers for the link if you are interested to join.

Agenda

  • NEURON News / Announcements (2 min)
  • Introduction from "new" members (5 min)
  • New neuron_nightly wheels with Azure CI : what is it? (4 min)
  • A new versioning scheme for NEURON (8 min)
  • Change 6.3 to 37? : What else remains to make NEURON a modern major general neural simulator? (Celsius default)
  • Software Engineering of NEURON codebase (7-10 mins)
    • Practicalities & Goals
    • How / When
    • Which parts to start with : HOC/NMODL/Solver/legacy libraries
  • Technical discussion on issues:
    • Sundials v 5. Very different NVector for threads and mpi. NEURON currently uses homemade implementations for these. See branch cvode3. A subbranch, idainit, is much more robust for IDA initialization but comes at a cost of an extra algebraic variable for each extracellular layer, i.e. vm = vi - ve .
    • Error handling.
  • Next Release 8.0 Milestone on GitHub
  • Next Meeting : Call for suggestions / presentations!

Meeting Minutes

Supporting slides here

Attendees

  • Michael Hines (MH)
  • Robert McDougal (RM)
  • Salvador Dura-Bernal (SD)
  • Bill Lyton (BL)
  • James King (JK)
  • Pramod Kumbhar (PK)
  • Omar Awile (OA)
  • Fernando Pereira (FP)
  • Ioannis Magkanaris (IM)
  • Alessandro Cattabiani (AC)
  • Wouter Klijn (WK)
  • Blake Caldwell (BC)
  • Nicolas Cornu (NC)
  • Joe Graham (JG)
  • Kaeld

Discussion

Introduction of New Members

  • WK :
    • Role at FZJ and HBP : leading coupling of simulators, with easy to use framework for multi-scale simulations.
      • Different scales and different simulators are doing good job but how to connect them?
      • HBP has dedicated task to develop framework
    • At least 3 use cases/ users interested with NEURON and coupling with NEST
    • New interface being developed, alternative to MUSIC. Core developer of MUSIC involved
    • Not actively contributing in NEURON but would like to get use cases supported. Can provide plugins to do heavy lifting.
  • RM : What was not supported by supported by MUSIC?
    • Some of the limitations mentioned by Felix (as part of BBP's ISC work)
    • Limited developer bandwidth
  • NC :
    • Working at BBP and working on CoreNEURON since last 2-3 months
    • Improving CoreNEURON codebase with OOP

This new interface should be look at for NEURON/CoreNEURON integration (from BBP side for HBP use cases)

New neuron_nightly wheels with Azure CI

  • Wheel has more improvements :support MPI and Interviews added 🎉
  • https://test.pypi.org/simple is now deprecated, just use pip install neuron-nightly !
  • neuron-nightly : development snapshot is built every night on Azure -CI
  • make sure to not have neuron and neuron-nightly installed together
  • Azure CI workflow is merged to master
  • Every night new wheel is built pushed to Pypi if all tests pass

Thanks JG for testing OS X wheel with Anaconda MPI : one needs to set

export MPI_LIB_NRN_PATH=/Applications/anaconda3/lib/libmpi.dylib
  • One caveat : don't install neuron vs. neuron-nightly

QA:

  • Does pip3 update neuron-nightly work and automatically bump the version to the next nightly build? => Yes
  • Right now, xquartz opens on a mac when you do “from neuron import h”. Is it possible to not do that unless someone does a “from neuron import gui”? It takes a while to start up xquartz. => PK will open an issue
  • RM / JG : How to upgrade neuron-nightly? -U flag should update the version.
  • NC : why libx11 ? For Interviews / GUI. Dev packages may not be necessary.

Versioning scheme for NEURON : FP

  • Work started a week ago as we want to support various versions for release and development
  • More contributors working concurrently
  • Google document with detailed information : see link on slides
  • Version Proposal presented
    • final release : MAJOR.MINOR.PATCH
    • Pre-releases : alpha => MAJOR.MINORa beta => MAJOR.MINORb
    • Devel builds : MAJOR.MINOR"dev"N
  • Development workflow and release steps presented

QA:

  • MH : where new tag goes?
  • RM : First commit after last release could be a new tag for next release tag 8.1.dev.
  • OA / FP : Doesn't need to be rigid, tag can be created bit later.
  • MH : To have a separate discussion to comprehend all information.

Change default temporature from 6.3 to 37 : BL

  • BL
    • Not going to be popular suggestion :) because of changes to ModelDB model (disruptive change due to backward compatibility)
    • Models being submitted with 6.3 is very confusing and comes up regularly in courses!
  • RM
    • Most of the comments are on the slide, will break lots of model
  • BL
    • May not be that many models, People might have fixed those models already
  • MH : need detailed discussed. The questions has been raised and we need to think about this.
  • PK : will create a Github issue about this: https://github.com/neuronsimulator/nrn/issues/591

Software Engineering of NEURON Codebase : OA

  • How neuron codebase can be improved?
  • Number of ideas / tickets proposed?
  • RM : What it means disentangling HOC & Python means?
  • OA : Python interface is dependent on HOC stack. Can that be separated?
  • PK : After June 2019, build system has been very successful and getting closed. What would be next task that could help NEURON codebase maintenance?
  • MH : Partial separation of HOC & Python could be possible. But certain things like h objet will remain. Very large project.
  • RM : Tied to tobject and HOC stack being used. Right now if error occurs in method, get runtime error and no meaningful error in Python.
  • MH : Latest PR gives more meaningful error. Pythonic errors.
  • PK : Needs a detailed discussion. MH : More focus on C++ and removing external libraries. Separate call to be organised.

Sundials v5 : MH

  • Request for help : there is a branch cvode which uses external submodule.
  • A subbranch idainit much more robust for ISA initialisation
  • Last Sundails version has been evolved with MPI, threads and combination.
  • Need help to bridge NEURON and Sundials
  • PK / OA : We can take a look but if someone is interested, please feel free to contribute!

Readline on OSX

  • NEURON now can use OSX readline which is actually libedit.
  • NEURON CMake build system can use libedit

Plan for v8.0

  • Milestone has been setup. Issues has been added.

NetPyNE : CoreNEURON + NMODL Integration (IM)

  • Manual fixed to MOD files needed
  • Work in progress to transparently fix them with ISCP backend of NMODL

Suggestion / Contributions for next meeting are welcome!

  • How we can announce this meeting to wider audience?
  • Github development activities could be announced on forum?
  • MH : Meetings could be advertised on neuron website in the news section. Let's make it known via website.

Next meeting June 19, 2020, 16:00 CEST; 10:00 EDT

Clone this wiki locally