Things that need to be done, in no particular order:
Things to do with useability:
* 2010/12/14: Find a way to set OMP_WAIT_POLICY=PASSIVE in test.c.
* 2011/01/03: Make a single header file "mdcore.h".
* 2011/01/03: Add functions to set the engine time and dt in a more elegant way.
* 2011/01/03: Add a function engine_map to call a function on each particle.
Things to do with documentaiton:
* 2011/01/04: Try to somehow make bulk text on doxygen.
* 2011/01/04: Add a long description for each structure detailing what it does,
how it should be created and how it should be used.
* 2011/02/03: Write-up a tutorial based on examples/test.c.
Things to do with functionality:
* 2010/12/03: Use B-Tree to map particle vids to the actual particle data
inside the engine.
* 2010/12/03: Somehow add bonded interactions to cell pairs or some
mechanism to treat bonds, angles and torsions in parallel
* 2010/12/03: Keep track of particles that wander into a ghost layer
or out of the domain (is this really needed?).
* 2010/12/11: Let the Cell/BE version also use tuples (is this really
necessary?).
* 2010/12/11: Create PPU runners if all SPUs are full in CELL mode (check
return value of spe_context_create to see when this is the
case).
* 2010/12/22: Add one-sided potentials for grid point pseudo-particles.
* 2010/12/22: Add explicit electrostatics to the SPU code.
* 2011/01/17: Add potential functions using automatic vectorization for gcc,
check if this is significantly slower than using SSE/SSE2
intrinsics directly.
* 2011/01/24: What happens to the local ids when the user removes a part?
* 2011/02/21: Use ParMetis to approximate the optimal tuples.
Things to do with the configuration process:
Things to do with testing:
* 2011/01/17: Test explicit electrostatics.
* 2010/12/12: Test new shifted/linear potentials for Cell/BE (packing?)
* 2011/01/17: Test 8-single potential evaluations to the
runner_spu code, verify that it is faster than 4-single.
* 2011/02/27: Test if the engine_flag_prefetch actually does any good.
Things to do with speed:
* 2010/12/14: Use local on-stack copy of eng->p in runner_dopair and
runner_sortedpair?
* 2010/12/14: Write-back force of outer-loop particle only at the end
of the outer loop?
* 2011/01/03: Use FMA when available (SSE4?).
* 2011/01/03: Add support for AltiVec instructions.
* 2011/01/17: Use sorting networks to improve sorted interactions?
* 2011/01/24: Use integer sorting for the sorted interactions in runner_spu.
* 2011/02/04: Make the struct potential and its data share the same chunk of
memory (watch out for alignment!).
* 2011/02/04: More refined use of __builtin_prefetch on cell particle lists?