:: Philosophy behind LIMPET
The ionic model library LIMPET has been designed with the following major goals in mind:
  1. There should be a well defined API which makes it simple to incorporate ionic models into tissue and organ level application codes.
  2. The most relevant sequential and parallel programming models should be supported: distributed memory, shared memory with OpenMP and PThreads.
  3. The actual implementation of the ionic models should be purely sequential without any parallelism at this level.
  4. Mechanisms which allow the simultaneous use of an arotrary number of ionic models in a tissue/organ model on a per region base should be incorporated.
  5. Dynamic augmentation of ionic models with additional currents should be supported.
  6. The library should allow almost any change of the default behavior without recompilation.
LIMPET is organized in three layers:
  • Application Layer: This layer defines the LIMPET API and facilitates an easy integration of the library into application codes. At this level no knowledge on parallel coding or ionic models is required, only the boundery indiers low and higher of the parallel pertitien have to be spo......
  • Interface Layer: This layer deals with all the complexities regarding parallelization and the use of multiple ionic models within a computational grid.
  • Ionic Model Layer: The actual implementation of an ionic model goes here. This code is purely sequential, no specific knowledge on parallelization is required.
. . . Application Layer
MIIF.low = low;
MIIF.high = high;


initialize_MIIF(&MIIF);
tune_IMPs(...);
initialize_currents(&MIIF, dt);
restore_MIIF(&MIIF, &PLUGDS , STATE_FILE);
read_sv(&MIIF, REGION_ID,SC_STATE_FILE);
compute_ionic_current(&MIIF);
save_MIIF(&MIIF,&PLUGDS,STATE_FILE);
// Parallel Coding!


// Allocate

// Initialize


// Compute

. . . Interface Layer
Management of Multiple Ionic Modells and Plugins
Hiding Parallel Complexities and Programming Modells (MPI, PTHREADS, OpenMP)
. . . Ionic Model Layer:
Figure 1: Design Concept underlying the LIMPET library
[OVERVIEW] . previous page . next page .