F^{2}Dock: 
F^{2}Dock is a multithreaded rigidbody proteinprotein docking software written in C++.
It also has an MPI (Message Passing Interface) based distributed implementation,
and a GUI (Graphical User Interface) frontend. F^{2}Dock includes a novel
shapecomplementarity function as well as onthefly affinity functions
based on electrostatics, hydrophobicity and hydrogen bonds. These
functions are evaluated using uniform FFT (Fast Fourier Transform),
but the sparsity of FFT grids and the search space are exploited in
various ways for faster execution. F^{2}Dock also includes efficient
onthefly filters (for eliminating/penalizing potential false positives) based
on LennardJones potential, dispersion energy, steric clashes, hydrophobicity,
residueresidue contact preferences (statistical), and interface area.
The filters are implemented using fast multipoletype
hiearchical (adaptive) spatial decomposition schemes. Here is a quick snapshot of
F^{2}Dock's performance as of July 2010 (F^{2}Dock is
constantly improving).

F^{2}Dock homepage on CVCWeb  
GBrerank:  GBrerank reranks the docking poses obtained from an initialstage docking software (e.g., F^{2}Dock) based on a more accurate evaluation of the change in solvation energy. The polar part of the solvation energy is approximated using the surfacebased formulation of Generalized Born (GB) energy, and implemented using a multithreaded fast octreebased approximation scheme. The nonpolar part is approximated by computing an approximate interface area of the two molecules using our fast linearspace Dynamic Packing Grid (DPG) data structure, and an approximate dispersion energy using an octreebased algorithm. 
MolEnergy:  This package includes multithreaded fast octreebased approximation schemes for computing LennardJones potential, electrostatics and solvation energy. It also includes an NFFT (Nonuniform FFT) based algorithm for computing polarization energy based on GB (Generalized Born) theory as well as a BEM (Boundary Element Method) based approach for computing the same using PB (PoissonBoltzmann) theory. 
Pochoir: 
Pochoir (pronounced "POshwar") is a system for automatically parallelizing
and optimizing stencils. A stencil defines the value of a grid point in a
ddimensional spatial grid at time t as a function of neighboring
grid points at recent times before t. A stencil computation computes the
stencil repeatedly for each grid point over many time steps. Stencils have
numerous applications, for example, Lattice Boltzmann Method in physics, seismic
imaging, finite difference methods in finances, biosequence analysis, image
enhancements using filters, etc.
In Pochoir one specifies a stencil as a mathematical formula using the Pochoir stencil specification language, which is embedded in C++. The Pochoir compiler then produces a highly optimized parallel code from that simple specification. Pochoir uses a nontrivial cacheefficient parallel algorithm for stencil computations, and the resulting code runs 2–10 times faster than straightforward parallel loop code. For more information please visit: 
Pochoir homepage at MIT CSAIL  
AutoGen: 
AutoGen is a system that for a wide class of dynamic
programming (DP) problems automatically discovers highly efficient cacheoblivious
parallel recursive divideandconquer algorithms from inefficient iterative descriptions
of DP recurrences. AutoGen analyzes the set of DP table locations accessed by the iterative
algorithm when run on a DP table of small size, and automatically identifies a recursive
access pattern and a corresponding provably correct recursive algorithm for solving the
DP recurrence. Empirical results show that several these autodiscovered algorithms significantly
outperform parallel looping and tiled loopbased algorithms. Also these algorithms are
less sensitive to memory and bandwidth fluctuations compared to their looping counterparts,
and their running times and energy profiles remain relatively more stable.
To the best of our knowledge, AutoGen is the first algorithm that can automatically
discover new nontrivial divideandconquer algorithms.
