Skip to content

2020 08 17 Open NEST Developer Video Conference

Dennis Terhorst edited this page Aug 17, 2020 · 5 revisions

previous | list | next

Agenda

  1. Welcome
  2. Review of NEST User Mailing List
  3. Project team round
  4. In-depth discussion
    • Return types of getters on empty collections
  5. AOB
    • Hackathon preparations

Mailing list

https://nest-simulator.org/mailinglist

  • discussion of "Saving and loading entire network"
    • has been tried various times
    • need to collect use-cases (there were several on the mailing list already)
    • precise definition of requirements is very difficult to collect
      • what does "reset the network" mean (e.g. #1618)
      • open state, like membrane potentials, etc. (easy)
      • closed state, like internal state of (hardware) RNGs, system level network buffers, etc. (VERY HARD)
      • loaded (maybe user provided) extensions, ...
    • new idea: no more Simulate() after save(), so reliably restart, but no continue
    • point of discussion at next Hackathon
      • should result at least in a document detailing our current understanding

Project team round

Here we discuss topics that need broader attention, for example questions that came up but are outside a single project's scope, larger planned changes/PRs that affect all teams or pending work that is blocked by external factors.

  1. Models / NESTML
    • still looking for domain expert to review Tsodysk synapse
  2. PyNEST
    • work progressing smoothly
    • what should be returned with .get() on an empty node collection #1651 -> IN DEPTH
  3. Kernel
    • no updates
  4. Installation
    • no major issues
    • looking for people working on MacOS
  5. Infrastructure
    • Travis is OK
    • interesting Python related PRs merged
    • MacOS builds with Python-bindings are not supportd on Travis
      • currently the build semi-automatically finds the right libraries
      • works, but have to see in future
  6. Documentation
    • discussed a lot about the structure of the documentation, still going on
  7. EBRAINS
    • no updates
  8. (Feature) Random number generation
    • work is ongoing, PRs are being reviewed and worked on
  9. (Feature) Automated Testing
    • still missing some reviews, but almost done with the migration of mymodule . #1662
    • create tests for some specific parts (structural plasticity, dopamine, ...), -> Hackathon

In-depth discussion

Discussion of possible implementations for #1651

  • no-op on empty collections for set operations is in line with numpy empty arrays
  • empty node collection should be detectable same as empty standard containers; cast to bool should return false
  • getting properties from empty NodeCollection has no defined return value
    • return None
      • user needs to check explicitly
    • return []
      • user needs to check explicitly
    • raise BadValue()
      • user notices automatically
  • no matter what, the user needs to handle it. making this explicit with an exception is the robust solution.
  • having a known data type that you would expect can be as useful
    • always returning the same data type makes the API behave more "as expected"
    • currently GetStatus() may return a number of different types, depending on many aspects.
  • could happen with
    • stochastic networks
    • getNodes() with an attribute selects only nodes with that attribute (may be none.)
  • new feature, difficult to estimate the usage in the past.

Conclusion: throw exception, that's safe, then if return types are defined better, this may be lossened.

AOB

  • Hackathon page and organization is ongoing, add topics there, beginning of hackathon we will go through/sort everything.
Clone this wiki locally