How does CellMC work?

CellMC works by transforming a model expressed as SBML into performance-optimized C (including inline assembly and/or SSE2 intrinsics), then calling gcc — and whatever utilities must be used to produce an executable for the host platform — to compile the model-specific code and link with model-invariant supporting libraries.

How does CellMC achieve such high performance?

CellMC's own performance is not of any real significance. The performance of the programs produced by CellMC, however, is what we're interested in.

CellMC-produced programs achieve high performance by (1) vectorizing ODM, including a vectorized log() function, (2) using a high-speed vectorized PRNG, and (3) using pthreads to use all available cores, whether they are CPU cores (on IA32) or SPU cores (on Cell/BE).