http://xyst.i2p
The software implementation facilitates the effective use of hardware of any size, from laptops to the largest distributed-memory clusters, by combining data-, and task-parallelism on top of the Charm++ runtime system. Charm++'s execution model is asynchronous by default, allowing arbitrary overlap of computation and communication. Built-in automatic load balancing enables redistribution of heterogeneous computational load based on real-time CPU load measurement at negligible cost.