We've discussed data flow parallelism here before. I'd like to propose starting a project.
Data flow computing is an interesting model because it exposes the maximum amount of parallelism. OpenMP, even with tasks and other 3.0 extensions, can't take advantage of all the parallelism inherent in some algorithms. With multi-core chips dominating the industry, multi-threaded programming is growing in importance. The scalability of programs needs to increase to keep pace with the increasing number of cores. Now is the time to take a look at the data flow programming model again. To start the project I have a C and Fortran API called CORD which allows coarse grain data flow. I have used it to achieve highly parallel implementations of some linear algebra algorithms specifically the LU, QR, and Cholesky factorizations. CORD has extensions for matrix decompositions to support linear algebra. This should provide a model for exploring data flow parallelism in other domains. Thanks, Brad -- This message posted from opensolaris.org
