1 / 16

pNeo

M. a. e. k. l. H. r. r. d. e. pNeo. PetaFLOP Applications Working Group – January 16, 2004. Simulation of Epiform Activity in the Neocortex understand and fix seizures pNeo from PGENESIS pNeocortex Streamlined Compiled Customized Instrument and profile Performance model

teague
Download Presentation

pNeo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. M a e k l H r r d e pNeo PetaFLOP Applications Working Group – January 16, 2004

  2. Simulation of Epiform Activity in the Neocortex understand and fix seizures pNeo from PGENESIS pNeocortex Streamlined Compiled Customized Instrument and profile Performance model Computation Communication System overhead Scaling to Billion cell Millions of steps 10K to 100K nodes p Motivations

  3. Nano Intro Neuro • Hodgkin-Huxley Model • Simulation layout • Multiple compartment cells • Multiple cell types • Multiple classes of dense interconnect • Parallel partitioning

  4. Soma Ex Spike Na K Ex Soma Inh Ex Soma Ex IS Spike Spike Na K Soma Na K Inh IS Spike Na K • Execution time* per step per cell • Integration of state in each compartment • Minor housekeeping • One spike connection Modeling • dt = 0.00001 sec (10 usec) • 0.1 sec => 10 sec • 10,000 steps => 1 M steps * 400 MHz Pentium 2 times

  5. Wiring Diagram and Heartbeat Detail from a slice of human focal neocortex Excitatory Connections Inhibitory Connections Real neural activity Corresponding simulated activity

  6. ~8000 connections per cell (within factor of few) 30 ns to process a spike event Cell grids 6 cell types 5 mm spacing typ. ~ 105 cells / mm2 Connection template Several conn. types Annular with hole 500 mm, 5 mm 10% probability, e.g. Processor partitioning Memory limited w/current simulator up to ~400 cells per node Interconnect and Partitioning

  7. Pseudocode TIME = 0; /* TIME LOOP */ do { foreach Object in MODEL { segment.INIT(); } Synchronize; ExchangeData; foreach SpikingObject in MODEL { if (potential >= threshhold) foreach SynapticConnection { CallEventAction(msg->dst); } } foreach ChannelObject in MODEL { foreach ContactPotential { Adjust(V); } integrate; } foreach CompartmentObject in MODEL { foreach ContactPotential { Adjust(Vm, Rm); } integrate; } step TIME; } while ( TIME < TOTAL_SIM_TIME )

  8. What I’ve Been Doing • pNeocortex running on PGENESIS • aggregate: timing and memory • GENESIS and custom instrumentation • Chiba and Jazz [PVM] • 256 nodes • 100K neurons (30K unit cells) • Serial pNeo (sNeo?) • component: timing, memory • gprof, custom instrumentation • special configurations • modeling

  9. Scaling with Problem Size N4

  10. Memory Model • Objects • by class • Synaptic Connections • objects • Messages • Aggregation • neuron types • Superficial Pyramidal • Deep Pyramidal • Basket cells • Chandelier cells

  11. Execution Time Model • Model building or loading • Course phases of simulation loop • Integration • Spike • Communication • Fine grain model • Compartment • Cell • Spike Event

  12. Projections • Million Steps • 0.1 ms • 10K Nodes • Spike Rate • 1E-3 / spikegen / step • Connectivity • 12E+3 / spikegen

  13. Optimizations: MEMORY USE • Save memory by generating connection lists on the fly each time they are needed (seeded algorithm). • Save memory by compressing connection sublists. • Large number of connections for a relatively small number of cells (per node) says there's a lot of redundancy in the connection patterns or sub patterns.

  14. Optimizations: EXECUTION TIME • It looks like the time to process spike events is the dominant contributor. • Streamlining this would improve execution time for extremely large runs. • This goal is at odds with memory saving methods above: computation (replacing lists) might take more time rather than less time to process connection lists.

  15. QUESTIONS • Why do the timing for S_Pyr only and D_Pyr only not add up to the timing for BOTH? • Why is there a Tfreebee term to adjust for the very low first spike step in modeltiming runs? • What's a good way to measure or estimate firing rate so that it can be used in the model? • Is there a memory leak: Why does memory used increase during the simulation?

  16. pNeo: Next Steps • Limits • Memory is limiting current size of simulation per node • Communication dominates time at present • PVM => Ethernet => Slow • Computation hot spots (?) • Redemptive tactics • Light weight connections • Tighten up or compress data structures • Construct on the fly? • Myranet • pNeo => MPI => Fast • Detailed performance analysis • Parallel version

More Related