Friday, February 17, 2012

G-Node Workshop on Neuronal GPU Computing

Announcement by Michael Schmuker, Christian Kellner and Thomas Wachtler of a very interesting workshop:

Graphics processing units (GPUs) offer a low-cost approach to parallel high-performance computing. Neuronal simulations can be parallelized efficiently and are particularly well suited for implementation on GPUs. There is also great potential for GPU-based high-throughput analysis of neuronal data. The field is progressing at rapid pace, and has reached a point where it may strongly benefit from some kind of convergence between the different approaches.

To facilitate communication and foster collaboration in the field, the German INCF Node (G-Node) organizes a one-day symposium on neuronal GPU computing with an adjoint two-day developer workshop.

Symposium

Invited Speakers (preliminary):

  • Romain Brette (École Normale Supérieure, Paris)
  • Andreas Fidjeland (Imperial College, London)
  • Dan Goodman (École Normale Supérieure, Paris)
  • Thomas Nowotny (University of Sussex, Brighton-Falmer)
  • Pierre Yger (Imperial College, London)

Applications are encouraged for talks at the symposium. Topics may cover one or more of the following:

  • GPU-based neuronal simulation: development, applications, user reports
  • GPU-based data analysis: software and use-cases
  • Reports on GPU-powered neuronal research
  • Comparison of GPU-based neuronal applications with other high-throughput technologies (e.g. clusters, neuromorphic hardware)

Participation in the symposium is free, but registration is required.

Developer workshop

We encourage applications for participation in the developer workshop. The workshop's aim is to bring together developers of GPU-based applications for neuroscience and to enable exchange of ideas, knowledge, and code. Enthusiastic users of GPU-based tools with programming skills are also warmly invited. The number of participants in the workshop is limited to 20.

Invited symposium speakers will also be present at the developer workshop.

Application and registration:

To apply for a presentation slot at the symposium, send us an abstract (approx. 500 words) of your presentation. A note with your name and affiliation is sufficient if you only want to register for the symposium. To apply for the developer workshop, please send a us a short letter of motivation stating your background, why you want to participate, and what you could contribute to the workshop.

Contact:

Direct your applications, registrations and any questions to gpu-computing@g-node.org .

Deadline for application: 28 Feb 2012

Workshop website: https://portal.g-node.org/gpu-workshop-2012/ Current information about speakers will be posted there.

Dates:

April 11, 2012 (Symposium)
April 12-13, 2012 (Developer Workshop)

Venue:

LMU Biocenter
Großhaderner Str. 2
82152 Planegg-Martinsried

Hope to see you in Munich in April!

The organizers

Michael Schmuker, Freie Universität Berlin & BCCN Berlin
Christian Kellner and Thomas Wachtler, G-Node, LMU München

Friday, February 10, 2012

Neo, a base library for handling electrophysiology data in Python

We are proud to announce the 0.2.0 release of Neo, a Python library for working with electrophysiology data, whether from biological experiments or from simulations.

A considerable problem in neurophysiology is the huge number of different, largely proprietary, data formats, which hinders data sharing and can make it difficult for researchers to use the best analysis methods, if the analysis software they wish to use does not support the data formats provided by their data acquisition system.

For cross-platform analysis, the field of neurophysiology is dominated by Matlab, but there is also a small but growing use of Python, perhaps boosted by the success Python has had in the neighbouring field of computational neuroscience. Certainly Python has a major cost advantage compared to Matlab, especially for larger-scale analyses on cluster computers, and as a popular, general purpose programming language makes it easy to tie data analysis into larger workflows including web- and database-access, modelling and simulation, and visualisation.

Neo arose from the realisation by a number of different groups developing Python software for the analysis and databasing of neurophysiology data that we were each independently reimplementing much of the same functionality. Although there is much scope for merging our analysis and visualization code, we decided that the best place to start was to develop standard data structures for electrophysiology, building on NumPy arrays, and to develop input-output modules to allow us to read from a large number of different electrophysiology data formats (and to write to a somewhat smaller subset, including HDF5).

This decision, to exclude data analysis and visualisation from the scope of Neo and to focus only on data representation and IO, makes Neo fairly lightweight as a dependency for other projects, requiring only NumPy and the Quantities package. The software packages OpenElectrophy, NeuroTools, Helmholtz, and PyNN, together with the database tools developed by the German Neuroinformatics Node, are all now in the process of moving to Neo as the basis of their data structures and for their IO layers. We would like to encourage the developers of other Python packages that work with electrophysiology data to consider adopting Neo, which will give you access to a large number of data formats and increase the interoperability of the tools in this domain. If you have Python support for a data format that is not currently available in Neo, we'd also like to talk to you!

Documentation:
http://packages.python.org/neo/
Licence:
Modified BSD
Download:
from PyPI or from the INCF Software Center

Labels:

Friday, January 27, 2012

BrainScaleS/FACETS CodeJam #5 registration now open

Registration is now open for the 5th BrainScaleS/FACETS CodeJam workshop, which will take place March 14th-16th, 2011 in Edinburgh.

The goal of the CodeJam workshops is to catalyze open-source, collaborative software development in computational and systems neuroscience and neuroinformatics (especially, but not exclusively, using Python), by bringing together researchers, students and engineers to share ideas, present their work, and write code together. The general format of the workshops is to dedicate the mornings to invited and contributed talks, leaving the afternoons free for discussions and code sprints.

For the 5th BrainScaleS/FACETS CodeJam, the main theme of the meeting will be convergence in computational neuroscience software: recent developments to promote interoperability of modelling, simulation and data analysis tools and future efforts to develop common tools and libraries. We are planning sessions on:

  • Neuronal network modelling
  • Code generation for neuron and synapse models
  • Multicompartmental neuron modelling in Python
  • Data analysis tools for computational and systems neuroscience
  • Best practices for running an open-source software project

More details on the program and invited speakers will follow soon.

We invite contributions on any topic related to software in neuroscience, but especially on topics related to the main theme and planned sessions. If you have ideas for organising code sprints, whether a feature that you would like to see added to an existing tool or an idea for new software, please also let us know.

The meeting is being organised by Andrew Davison, Mike Hull, Abigail Morrison, Eilif Muller, Miha Pelko and Laurent Perrinet.

Registration & Further Information

The registration deadline is 19th February 2012, and is limited to 50 participants.

Please consult the meeting website at http://neuralensemble.org/meetings/CodeJam5 for registration and further information.

Wednesday, December 7, 2011

5th INCF Congress of Neuroinformatics: Call for Workshop Proposals


5th INCF Congress of Neuroinformatics: Munich, Sept 10 - 12, 2012

Call for Workshop Proposals!



Neuroinformatics 2012 will feature three workshops organized by the program committee and an additional three parallel workshops which will be selected from submitted proposals. This is a tremendous opportunity to host your own workshop with the topic and speakers of your choice!

MORE INFORMATION

WORKSHOP PROPOSAL SUBMISSION

Neuroinformatics 2012 regular workshops:
  1. Function-structure relationship in microcircuitry (Chair: Keiji Tanaka)
  2. Systems Biology of the Neuron (Chair: Mary Kennedy)
  3. If there is a data deluge, where are the data? (Chair: Tim Clark)

Monday, March 14, 2011

Sumatra 0.3 released


We would like to announce the release of version 0.3 of Sumatra, a tool for automated tracking of simulations and computational analyses so as to be able to easily replicate them at a later date.

The main changes are:
  • Improved documentation, now hosted at http://packages.python.org/Sumatra/
  • It is now possible to have records from multiple projects within a single record store. For example, this allows having a central record store which collects simulation results from all projects, rather than having one store per project. 
  • Generalized the assumed command line format for running simulations/analyses. Before we assumed "executable main_script parameter_file", now smt support multiple script files with arbitrary arguments and options. Arguments which look like input data files are registered, arguments which look like (and behave like) parameter files are treated as such.
  • Can now migrate records from one record store to another ("smt sync" command).
  • Can now use any directory below the project directory as the working directory .
  • Can now create project-specific templates for the web interface.
  • Added support for the GENESIS 2 simulator.
  • Added support for the Bazaar version control system.
  • Added an "upgrade" command to smt, to upgrade projects created with previous versions (this will happen automatically in future, but we're playing it safe for now).
Sumatra 0.3.0 may be downloaded from PyPI or from the INCF Software Center. Support is available from the (newly-created) sumatra-users Google Group.

Labels:

Tuesday, March 8, 2011

Python in Neuroscience satellite 2011


Paris, Ecole Normale Supérieure, August 29-30 2011

The “Python in Neuroscience” workshop, a satellite meeting to EuroSciPy 2011, aims at gathering researchers who develop software tools in different branches of neuroscience in order to share ideas, concepts, tools and to foster collaborative projects based on the Python language.

Main Topics

    * tools for neural simulation,
    * electrophysiology data analysis,
    * data management and databasing in neuroimaging and neuroscience,
    * stimulus generation
    * neuroimaging data processing
    * workflows and pipelines for data processing
    * massive computation facilities for simulation and data analysis in neuroscience
    * visualization tools in neuroscience and neuroimaging

Call for Contributions

We are soliciting contributions that deal with the above topics using Python tools, including research projects and software presentations, with the hope of interesting a broader community, including e.g. neuroscience and neuroimaging.

Important dates

Abstract submission deadline: June 1st, 2011
Final program: June 30th, 2011
Workshop: August 28-20, 2011

Submission guidelines

    * We solicit talk proposals in the form of a one-page long abstract.
    * The only condition for acceptance is that the abstract fits well with the workshop theme.
    * Oral and poster presentations will be allocated depending on the number of contributions.

Website

http://www.euroscipy.org/card/neurosciences_2011
Contact: bertrand.thirion@inria.fr

Chairs

    * Bertrand Thirion (INRIA Saclay)
    * Romain Brette (ENS Paris)

Program committee

    * Eilif Müller, Blue Brain Project, EPFL Laussane
    * Gaël Varoquaux, INSERM U992, Saclay
    * Raphaël Ritz,  INCF, Stockholm, Sweden
    * Laurent Perrinet,  INCM, Marseille
    * Andrew Davison, UNIC, CNRS, Gif

Friday, February 4, 2011

PyNN 0.7.0 released

PyNN 0.7.0 is available for download from  PyPI and from the INCF Software Center. Documentation is available at http://neuralensemble.org/PyNN.



This release sees a major extension of the API with the addition of the PopulationView and Assembly classes, which aim to make building large, structured networks much simpler and cleaner. A PopulationView allows a subset of the neurons from a Population to be encapsulated in an object. We call it a "view", rather than a "sub-population", to emphasize the fact that the neurons are not copied: they are the same neurons as in the parent Population, and any operations on either view or parent (setting parameter values, recording, etc.) will be reflected in the other.  An Assembly is a list of  Population and/or PopulationView objects, enabling multiple cell types to be encapsulated in a single object. PopulationView and Assembly objects behave in most ways like Population: you can record them, connect them using a Projection, you can have views of views...


The "low-level API" (rechristened "procedural API") has been reimplemented in terms of Population and Projection. For example, create() now returns a Population object rather than a list of IDs, and connect() returns a Projection object. This change should be almost invisible, since Population now behaves very much like a list of IDs (can be sliced, joined, etc.).


There has been a major change to cell addressing: Populations now always store cells in a one-dimensional array, which means cells no longer have an address but just an index. To specify the spatial structure of a Population, pass a Structure object to the constructor, e.g.


  p = Population((12,10), IF_cond_exp)

is now


   p = Population(120, IF_cond_exp, structure=Grid2D(1.2))


although the former syntax still works, for backwards compatibility. The reasons for doing this are:

  1. we can now have more interesting structures than just grids
  2. efficiency (less juggling addresses, flattening)
  3. simplicity (less juggling addresses, less code).

The API for setting initial values has changed: this is now done via the initialize() function or the Population.initialize() method, rather than by having v_init and similar parameters for cell models.
  
Other API changes:


- simplification of the record_X() methods.
- enhanced describe() methods: can now use Jinja2 or Cheetah templating engines to produce much nicer, better formatted network descriptions.
- connections and neuron positions can now be saved to various binary formats as well as to text files.
- added some new connectors: SmallWorldConnector and CSAConnector  (CSA = Connection Set Algebra).
- native neuron and synapse models are now supported using a NativeModelType subclass, rather than specified as strings. This simplifies the code internally and increases the range of PyNN functionality that can be used with native models (e.g. you can now record any variable from a native NEST or NEURON model). For NEST, there is a class factory native_cell_type(), for NEURON the NativeModelType subclasses have to be written by hand.


Backend changes:

  • the NEST backend has been updated to work with NEST version 2.0.0rc2.
  • the Brian backend has seen extensive work on performance and on bringing it to feature parity with the other backends.

Contributors


I'd like to thank everyone who has contributed to this release:  Daniel Brüderle, Eilif Muller, Mikael Djurfeldt, Michael Schmucker and especially Pierre Yger, who has done amazing work on the Brian backend, on implementing my wish list of features for the Assembly class, and in many other areas, while at the same time successfully completing and defending his PhD thesis. Thanks also to everyone who has reported bugs or requested improvements.



What is PyNN?

PyNN (pronounced 'pine' ) is a simulator-independent language for building neuronal network models.

In other words, you can write the code for a model once, using the PyNN API and the Python programming language, and then run it without modification on any simulator that PyNN supports (currently NEURONNESTPCSIM and Brian).

Even if you don't wish to run simulations on multiple simulators, you may benefit from writing your simulation code using PyNN's powerful, high-level interface. In this case, you can use any neuron or synapse model supported by your simulator, and are not restricted to the standard models.


The code is released under the CeCILL licence (GPL-compatible).