Skip to content

Instantly share code, notes, and snippets.

@russelljjarvis
Last active March 10, 2023 23:19
Show Gist options
  • Save russelljjarvis/97c0a91a4512ca97ea54921cdf0ccb8b to your computer and use it in GitHub Desktop.
Save russelljjarvis/97c0a91a4512ca97ea54921cdf0ccb8b to your computer and use it in GitHub Desktop.
Code Review 2 @rafaqz

Hi Raf

For a while I have been trying to massage this Python model into Julia, in part unsuccessfully.

https://portal.brain-map.org/explore/models/mv1-all-layers

The model is interesting for your grid simulator, as the neurons are arranged in pixel like grids (cells have both cartesian pixel indexs, and spatial coordinates).

Here is better diagram picture of the approach: https://alleninstitute.github.io/bmtk/tutorial_filter_models.html

Some where on the internet there is a movie of what these 2D pixel grid neuron firings look like, but I can't find it atm.

Its a visual input model.

Jamie Knight has done the data frame processing to get spatial coordinates and connection topology of the model. https://github.com/neworderofjamie/allen_v1

Julia implementations of either Potjan's diesman or Allen models might be publishable if the result was both faster and more readible.

I used PyCall to get his data frame into the Julia namespace.

Jamie did a lot of potentially ugly HDF5 -> to data frame processing fast and gracefully, so I don't really want to reimplement that if you want I can share the code for getting his data frame into Julia, or just share the JLD2 with you over slack.

Actually the data files on the above code works on is ~10GBs, so you wouldn't want that, the Julia data frame might save as <=1GB in JLD2, but I am unsure.

The above code which uses PyGenn took a multi CPU cpp code that needed hours and used multiple nodes of a HPC, and made it run on a single host with 64GB of RAM and a regular consumer NVidia card.

With regards to the signal conversation:

This static struct version works in place for the parameters of LIF.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment