the neural tissue simulator: how to specify and scale … · develop a simulator capable of testing...
TRANSCRIPT
© 2012 IBM Corporation
IBM Research Division
March 2012
The Neural Tissue Simulator: How to specify and scale an arbitrary number of compartment variables over an arbitrary number of compartments
Presentation to NeuroML workshopConvergence in Computational Neuroscience 2012
James Kozloski, Research Staff Member
IBM T. J. Watson Research Center, Yorktown Heights, NY
[email protected], ibm.co/kozloski
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation2
tinyurl.com/neuraltissuesim
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation3
Neural Tissue Simulator: Goals
� Develop a simulator capable of testing mappings to
various machine architectures
– Parallel, Multithreaded
� Support for high level, abstract model definitions
and simulation specifications
– Model Graphs
� Extensible simulator, able to map arbitrary, domain
level models directly to a variety of data
arrangements and computational implementations
– Code Generation
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation4
Overview
� Model Graph Simulator
– Model Definition
– Graph Specification
� Scaling
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation5
Neural Tissue Simulator Workflow
NVM
Circular
Buffers
SciencePaper.pdf
Structure Files
.swc
NeuroMorpho.org
Tissue File
Synapse
Params
Channel
Params
Cpt Var
Params
Contact
Params
Tissue Functor
Model Graph
Simulator
(LENS)
Contact
Detection
Neuron
Growth
Growth
Params
Channel/Synapse
Kinetics
Databases
GSL
Files
C++
Models
MDL
Files
C++ Compiler
Microcircuitry
Databases
Machine
Topology
Spec
Volume
Mapper
Neural Tissue
Simulation
Channel and
Synapse State
Compartment
Variable StateCheckpoint/
Restore
System
Triggers
Reduced
Data View
Visualization
Reverse
Correlation
Analysis Validation
Tissue Physiology
DatabasesRequest
for Data
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation6
Model Graph Simulator: Infrastructure
Model
2
InitParm
InParm
Model
1
InitParm
Graph Specification:
Grid TissueGrid TissueGrid TissueGrid Tissue{{{{
Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Layer(branchesLayer(branchesLayer(branchesLayer(branches, , , , HodgkinHuxleyBranchHodgkinHuxleyBranchHodgkinHuxleyBranchHodgkinHuxleyBranch, , , , tissueFunctor("LayouttissueFunctor("LayouttissueFunctor("LayouttissueFunctor("Layout",",",",
<<<<nodekindnodekindnodekindnodekind="Branches">), <="Branches">), <="Branches">), <="Branches">), <nodekindnodekindnodekindnodekind="Branches">,="Branches">,="Branches">,="Branches">,tissueGMtissueGMtissueGMtissueGM););););
............}}}}
m1
m2
m1
mnmn
m3m2
m3
Model Definition/
Graph Specification
Languages
Graphical View/
Partitioning
Model
Types
Model
Type 2
Model
Type 1
m1
mn
m3m2
Model
Type 3Model Definition:
Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, DistalVoltageProducerDistalVoltageProducerDistalVoltageProducerDistalVoltageProducer, ... , ... , ... , ... NaConcentrationProducerNaConcentrationProducerNaConcentrationProducerNaConcentrationProducer, , , , KConcentrationProducerKConcentrationProducerKConcentrationProducerKConcentrationProducer {{{{
double [] radius;double [] radius;double [] radius;double [] radius;double [] length;double [] length;double [] length;double [] length;double [] V;double [] V;double [] V;double [] V;intintintint size; // number of compartmentssize; // number of compartmentssize; // number of compartmentssize; // number of compartmentsConnection (Connection (Connection (Connection (PSet.identifierPSet.identifierPSet.identifierPSet.identifier=="channels") Expects=="channels") Expects=="channels") Expects=="channels") Expects
CurrentArrayProducerCurrentArrayProducerCurrentArrayProducerCurrentArrayProducer {{{{CurrentArrayProducer.currentArrayCurrentArrayProducer.currentArrayCurrentArrayProducer.currentArrayCurrentArrayProducer.currentArray >> >> >> >> channelCurrents.currentschannelCurrents.currentschannelCurrents.currentschannelCurrents.currents;;;;
}}}}............
}}}}
INTERFACES
Communication
Phase 1
Phase 2
MPI_alltoallv
PROXIES
Phase 1Volume (0,1)
Volume (0,0) Volume (1,0)
Volume (1,1)
Phase
Boundary
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation7
Model Graph Simulator: Infrastructure
Model
2
InitParm
InParm
Model
1
InitParm
Graph Specification:
Grid TissueGrid TissueGrid TissueGrid Tissue{{{{
Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Dimension( 16, 16, 16 );Layer(branchesLayer(branchesLayer(branchesLayer(branches, , , , HodgkinHuxleyBranchHodgkinHuxleyBranchHodgkinHuxleyBranchHodgkinHuxleyBranch, , , , tissueFunctor("LayouttissueFunctor("LayouttissueFunctor("LayouttissueFunctor("Layout",",",",
<<<<nodekindnodekindnodekindnodekind="Branches">), <="Branches">), <="Branches">), <="Branches">), <nodekindnodekindnodekindnodekind="Branches">,="Branches">,="Branches">,="Branches">,tissueGMtissueGMtissueGMtissueGM););););
............}}}}
m1
m2
m1
mnmn
m3m2
m3
Model Definition/
Graph Specification
Languages
Graphical View/
Partitioning
Model
Types
Model
Type 2
Model
Type 1
m1
mn
m3m2
Model
Type 3Model Definition:
Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, Model HodgkinHuxleyBranch Implements ProximalVoltageProducer, DistalVoltageProducerDistalVoltageProducerDistalVoltageProducerDistalVoltageProducer, ... , ... , ... , ... NaConcentrationProducerNaConcentrationProducerNaConcentrationProducerNaConcentrationProducer, , , , KConcentrationProducerKConcentrationProducerKConcentrationProducerKConcentrationProducer {{{{
double [] radius;double [] radius;double [] radius;double [] radius;double [] length;double [] length;double [] length;double [] length;double [] V;double [] V;double [] V;double [] V;intintintint size; // number of compartmentssize; // number of compartmentssize; // number of compartmentssize; // number of compartmentsConnection (Connection (Connection (Connection (PSet.identifierPSet.identifierPSet.identifierPSet.identifier=="channels") Expects=="channels") Expects=="channels") Expects=="channels") Expects
CurrentArrayProducerCurrentArrayProducerCurrentArrayProducerCurrentArrayProducer {{{{CurrentArrayProducer.currentArrayCurrentArrayProducer.currentArrayCurrentArrayProducer.currentArrayCurrentArrayProducer.currentArray >> >> >> >> channelCurrents.currentschannelCurrents.currentschannelCurrents.currentschannelCurrents.currents;;;;
}}}}............
}}}}
INTERFACES
Communication
Phase 1
Phase 2
MPI_alltoallv
PROXIES
Phase 1Volume (0,1)
Volume (0,0) Volume (1,0)
Volume (1,1)
Phase
Boundary
Architectural Overview
• Language for expressing model state, computational phases,
communicated state, and model interfaces (MDL)
• Language for composing arbitrary parameterized graphs (GSL)
• Automatic partitioning into work units for multi-threaded execution (SMP)
• Dynamically constructed, simulation-specific MPI collective
communication for multi-process execution of computational phases (MPP)
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation8
Model Definition: Interfaces
Node NaChannel Implements ConductanceArrayProducer, ReversalPotentialProducer{double [] m;double [] h;double [] g;double [] gbar;double []* V;
…
Connection Pre Node (PSet.identifier=="compartment") Expects VoltageArrayProducer{VoltageArrayProducer.voltageArray >> V;
}
Connection Pre Node (PSet.identifier=="IC") Expects NaConcentrationProducer {NaConcentrationProducer.Na >> Shared.Na_IC;
}
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation9
Model Definition: Phases
InitPhases = { initialize };RuntimePhases = { run1, run2, run3, run4, run5, run6 };
NodeType HHJunction { predictState->run1,correctState->run6 };
NodeType HHBranch { forwardEliminateCO0->run2,forwardEliminateCO1->run3,backSubstituteCO1->run4,backSubstituteCO0->run5 };
Time Step
����
Multiphase Algorithm
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation10
Phase 1
Phase 2
MPI_alltoallv
PROXIES
Phase
Boundary
COMM VIEW
marshall
demarshall
DRAM 1
DRAM 2
MESSAGE
Phase
Boundary
STORE VIEW
marshall
DRAM 1
NVM 1
MESSAGE itr 4
MESSAGE itr 3
MESSAGE itr 2
MESSAGE itr 1
demarshall
DRAM 1
MESSAGE itr 2
Phase 1
STORES
PROXIES
STORES
KEY
volume, model
type, variable,
timesteps
Phase
BoundaryMESSAGE itr 4
KV Insert KV Retrieve
Data Movement: Marshalling and Demarshalling
SIMULATION APPROACH:
• Distribute tissue points
weighted by computational
complexity
• Scale out tissue simulation
across all three dimensions
• Maintain realistic neuron
and synapse densities at
each scale
Minicolumn
20 Neurons
25×25×500 µm
Column
8,000 Neurons
20×20 Minicolumns
500×500×500 µm
Tissue
1,024,000 Neurons
8×4×4 Columns
4×2×2 mm
1,861 ± 8207,626,124Connexons
550,553 ±
169,0642,255,068,948
GABAA
Synapses
1,998,772 ±
720,1558,186,972,360
AMPA
Synapses
80,716 ± 7,440330,613,914KDR Channels
80,716 ± 7,440330,613,914Na Channels
264,475 ± 7,5821,083,289,600Compartments
51,012 ± 4,026208,947,659Junctions
84,100 ± 7,406344,474,059Branches
N/A1,024,000,Neurons
Processor
BalanceNumber
Simulation
Element
Graph Specification: Tissue Composition
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation12
Graph Specification: Contact Detection
Points/Neuron
Co
lum
n P
artitio
nin
g
I/O
Neuron
Slicing
T=300
AnalysisTissue
Revision
Contact
Detction
MPI_alltoall
MPI_alltoallw
Global
Tabulation
MPI_allgather
MPI_allgatherv
Column
Specification
Local
Tabulation
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation13
Graph Specification: Contact Detection
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation14
Graph Specification: Contact Detection
PERFORMANCE
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation15
Graph Specification: Contact Detection
• New algorithm optimized to run multithreaded on
Blue Gene/P’s 4-core compute nodes
• 25.5 billion contacts in 2.5 hours
• 4,096 nodes of Blue Gene/P
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation16
Contact Count:
(106,319) :
E-type
M-type
Contact Category:
( [E-type & M-type], [E-type & M-type] )
12
cAD bAD dAD cFS bFS dFS cST bST dST cIS bIS IBS rBS tBS cAL dAL bAL cNA bNA dNA
L2PC
L3PC
L4PCL4SP
L4SSL5CSPC
L5CHPC
L6CTPC
L6CCPCL6CSPC
HC
CRC
MCBTC
DBC
BP
NGC
LBCNBC
SBCChC
1.layer
2.m-type
3.e-type
4.branch type
5.branch order
6.segment index within branch
7.branch index within neuron
8.neuron index within class8 byte segment key
� Each segment
describes itself
� Segment key is
compressed for efficient
communication
� With key, a segment can
be identified, and its
neuron data accessed
Graph Specification: Components Identities
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation17
Graph View: Synapses and Channels
HH
Voltage
Na
Channel
Voltage A
rray
IC N
a C
onc
Conduct
Arr
ay
Rev P
ot
Arr
ay
AMPA
Receptor
Conduct
Arr
ay
Rev P
ot
Arr
ay
Connexon
Curr
ent
T
[Na+]
[K+]
EC
Medium
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation18
Graph View: Synapses and Channels
HH
Voltage
Na
Channel
Voltage A
rray
IC N
a C
onc
Conduct
Arr
ay
Rev P
ot
Arr
ay
AMPA
Receptor
Connexon
Conducta
nce
Rev P
ote
ntial
Curr
entHH
Voltage
Voltage
Connexon
Voltage
IC N
a C
onc
Voltage A
rray
Synapses Channels
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation19
Next Steps: Inferior Olive
� Clear data constraints available for
single cell electrophysiological model
� Oscillations generated by intrinsic
interplay between membrane currents
� Subthreshold oscillations are not
driven by spike input, but instead
constrain and drive spike output
T. Bal and D. McCormick, “Synchronized oscillations in the Inferior Olive are controlled by the
hyperpolarization-activated cation current Ih”, J. Neurophysiol. 77:3145-3156, 1997.
ComputationComputationSystemsSystems
BrainBrain
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation20
Modeling Calcium Dynamics in IO neurons
InitPhases = { initialize };RuntimePhases = { run1, run2, run3, run4, run5, run6 };
NodeType HHVoltageJunction { predictState->run1,correctState->run6 };
NodeType HHVoltage { forwardEliminateCO0->run2,forwardEliminateCO1->run3,backSubstituteCO1->run4,backSubstituteCO0->run5 };
NodeType CaConcentration { forwardEliminateCO0->run2,forwardEliminateCO1->run3,backSubstituteCO1->run4,backSubstituteCO0->run5 };
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation21
Graph View: Hybrid Voltage Solver
HH
Voltage
Junction
Voltage
Voltage
HH
Voltage
Voltage
Voltage
HH
Voltage
Voltage V
oltage
HH
Voltage
Fwd Solutio
n
BwdSolutio
n
HH
Voltage
Fw
d Solution
Bw
dSolution
HH
Voltage
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation22
Ca2+
Concentration
Fwd Solutio
n
BwdSolutio
n
Ca 2+
Concentration
Fw
d Solution
Bw
dSolution
Ca2+
Concentra
tion
Graph View: Hybrid Calcium Solver
Ca2+
Concentration
Junction
[Ca
2+]
Ca 2+
Concentration
[Ca2+ ]
[Ca2+ ]
Ca2+
Concentra
tion
[Ca 2+] [C
a 2+]
[Ca
2+]
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation23
HH
Voltage
Na
Channel
Voltage A
rray
IC N
a C
onc
Conduct
Arr
ay
Rev P
ot
Arr
ay
AMPA
Receptor
Connexon
Conducta
nce
Rev P
ote
ntial
Curr
entHH
Voltage
Voltage
Connexon
Voltage
IC N
a C
onc
Voltage A
rray
KCa
Channel
Conduct
Arr
ay
Rev P
ot
Arr
ay
NMDA
Receptor
Connexon
Ca C
onduct
Ca R
ev P
ots
Voltage
Connexon
IC C
a C
onc
[Ca
2+]
[Ca
2+] A
rray
Ca F
lux
Ca2+
ConcentrationCa2+
Concentration
[Ca
2+] A
rray
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation24
SIMULATED “MINICOLUMN”
SIMULATED “MINICOLUMN” DEVELOPMENTIn collaboration with Mike Pitman, Protein Science & Molecular Dynamics
475
450
425
400
375
350
325
300
275
250
225
200
175
150
125
100
75
50
25
0
Layer 2/3
Layer 4
Layer 5depth(µm)
NBC
PCPC
PC
PC
PC
SSC
SSC
SBC
SSC
LBC
SSC
PC
PC
PC
PC
PC
LBC
SBC
NBC
SIMULATED “MINICOLUMN”
475
450
425
400
375
350
325
300
275
250
225
200
175
150
125
100
75
50
25
0
Layer 2/3
Layer 4
Layer 5depth(µm)
PC*PC*
PC*
PC*
PC*
SSC*
SSC*
SBC*
SSC*
LBC*
SSC*
PC*
PC*
PC*
PC*
PC*
LBC*
SBC*
NBC*
NBC*
SIMULATED “MINICOLUMN” DEVELOPMENT
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation28
Graph Specification: Compartment Variables
COMPARTMENT_VARIABLE_TARGETS 4
BRANCHTYPE
0 Voltage, Calcium
1 Voltage
2 Voltage, Calcium
3 Voltage, Calcium
COMPARTMENT_VARIABLE_COSTS 2
Voltage 1.0
Calcium 0.95
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation29
Graph Specification: Channels
CHANNEL_TARGETS 4
BRANCHTYPE
0 Na [Voltage] KDR [Voltage] Cah [Voltage, Calcium] KCa [Voltage, Calcium]
1 Na [Voltage] KDR [Voltage]
2 Cah [Voltage, Calcium] KCa [Voltage, Calcium]
3 Cah [Voltage, Calcium] KCa [Voltage, Calcium]
CHANNEL_COSTS 4
Na 0.414243
KDR 0.254051
Cah 0.414243
KCa 0.359252
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation30
Graph Specification: Synapses
ELECTRICAL_SYNAPSE_TARGETS 2BRANCHTYPE ETYPEBRANCHTYPE ETYPE1 0 1 0 AxAxGap [Voltage] 0.0012 1 2 1 DenDenGap [Voltage] 0.001
ELECTRICAL_SYNAPSE_COSTS 2AxAxGap 0.005309DenDenGap 0.005309
CHEMICAL_SYNAPSE_TARGETS 6BRANCHTYPE ETYPEBRANCHTYPE ETYPE1 1 2 0 GABAA [Voltage] [Voltage] 0.16671 1 2 1 GABAA [Voltage] [Voltage] 0.16671 1 3 0 GABAA [Voltage] [Voltage] 0.16671 0 2 0 AMPA [Voltage] [Voltage] 1.01 0 2 1 AMPA [Voltage] [Voltage] 1.01 0 3 0 AMPA [Voltage] [Voltage] 1.0 NMDA [Voltage] [Voltage, Calcium] 1.0
CHEMICAL_SYNAPSE_COSTS 2AMPA 0.296407GABAA 0.149978
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation31
44,352,919GABAA
137,338Connexons
10,004Synapses/Neuron
115,647,522AMPA
16,000Neurons
44,352,919GABAA
137,338Connexons
10,004Synapses/Neuron
115,647,522AMPA
16,000Neurons
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation32
Neural Tissue Simulator Workflow
NVM
Circular
Buffers
SciencePaper.pdf
Structure Files
.swc
NeuroMorpho.org
Tissue File
Synapse
Params
Channel
Params
Cpt Var
Params
Contact
Params
Tissue Functor
Model Graph
Simulator
(LENS)
Contact
Detection
Neuron
Growth
Growth
Params
Channel/Synapse
Kinetics
Databases
GSL
Files
C++
Models
MDL
Files
C++ Compiler
Microcircuitry
Databases
Machine
Topology
Spec
Volume
Mapper
Neural Tissue
Simulation
Channel and
Synapse State
Compartment
Variable StateCheckpoint/
Restore
System
Triggers
Reduced
Data View
Visualization
Reverse
Correlation
Analysis Validation
Tissue Physiology
DatabasesRequest
for Data
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation33
Neural Tissue Simulation: Scaling
The question of axonsS
M. Lévesque, S. Gagnon, A. Parent, and M. Deschênes, “Axonal Arborizations of
Corticostriatal and Corticothalamic Fibers Arising from the Second Somatosensory
Area in the Rat
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation34
Neural Tissue Simulation: Scaling
“Sprocessors act like neurons and connections between processors act as axonsS”
H. Markram. The Blue Brain Project. Nat Rev Neurosci, 7(2):153–160, Feb 2006.
The question of axonsS
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation35
Scalability
=
Traub et al., J Neurophysiol 93: 2194 2232, 2005
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation36
Neural Tissue Simulation: Scaling
� Failures of action potential propagation can occur at certain points
along an axon, introducing uncertainty surrounding the signaling role
of action potentials transmitted through otherwise reliable axons [1]
� Electrical synapses between axons can initiate action potentials
without first depolarizing the axon initial segment [2]
� Action potentials may be generated by a mechanism that depends
on the length of the axon (e.g., bursts of action potentials of a
particular duration may be generated when a calcium spike from the
cell body depolarizes an axon of a particular length [1])
The question of axonsS
[1] A. Mathy, S. S. N. Ho, J. T. Davie, I. C. Duguid, B. A. Clark, and M. Husser. Encoding of oscillations by axonal bursts in inferior olive
neurons. Neuron, 62(3):388–399, May 2009.
[2] D. Schmitz, S. Schuchmann, A. Fisahn, A. Draguhn, E. H. Buhl, E. Petrasch-Parwez, R. Dermietzel, U. Heinemann, and R. D.
Traub. Axo-axonal coupling. a novel mechanism for ultrafast neuronal communication. Neuron, 31(5):831–840, Sep 2001.
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation37
Neural Tissue Simulation: Network Bandwidth
BLUE GENE/PBISECTIONBANDWIDTH:1.7-3.8 TB/s
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation38
Neural Tissue Simulation
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation39
Neural Tissue Simulation
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation40
Model Graph Simulator: Tissue Volume Decomposition
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation41
Previous Numerical Approaches
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation42
Our Numerical Approach- John Wagner, Manager IBM Research Australia /Computational Biology Co-laboratory
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation43
Graph View: Implicit Junction Solver
HH
Voltage
Fwd Solutio
n
BwdSolutio
n
HH
Voltage
Fw
d Solution
Bw
dSolution
HH
Voltage
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation44
Update Iflux Update
Branch Vm
Branches/Junctions
Forward
Solve:
Branch
Order N
Forward
Solve:
Branch
Order 1
Backward
Solve:
Branch
Order 1
Backward
Solve:
Branch
Order N
Branch-Based, Implicit Junction Algorithm:
Phase Decomposition
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation45
Graph View: Explicit Junction Solver
HH
Voltage
HH
Voltage
Junction
Voltage
Voltage
HH
Voltage
Voltage
Voltage
HH
Voltage
Voltage V
oltage
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation46
Update Iflux Predict/Correct
Junction Vm
Update
Branch Vm
Branches/Junctions
Branch-Based, Explicit Junction Algorithm:Phase Decomposition
Rempe and Chopp, 2006
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation47
Graph View: Hybrid Solver
HH
Voltage
Junction
Voltage
Voltage
HH
Voltage
Voltage
Voltage
HH
Voltage
Voltage V
oltage
HH
Voltage
Fwd Solutio
n
BwdSolutio
n
HH
Voltage
Fw
d Solution
Bw
dSolution
HH
Voltage
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation48
Numerics Scaling
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation49
Thread Scaling
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation50
Synapse Scaling
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation51
•106 neurons
•109 compartments
•1010 synapses
Weak Scaling
IBM Research Division
March 2012 The Neural Tissue Simulator: Specification and Scaling © 2012 IBM Corporation52
Acknowledgments
� John Wagner
IBM Research Collaboratory for Life Sciences-Melbourne
Victorian Life Sciences Computation Initiative
The University of Melbourne
� Charles Peck
Manager, Biometaphorical Computing Research
Research Staff Member, Computational Biology