Version 4.2 of the GCC tool-set was just released. This release includes
OpenMP which is an Application Program Interface (API) for shared-memory parallel programming in C/C++ and Fortran. OpenMP is jointly defined by a group of major computer hardware and software vendors and is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications. While OpenMP has been around for a while, the growth of multi-core processors has made tools like OpenMP valuable to software developers. OpenMP provides a series of directives that can be added as comments to existing programs (i.e. it is easier than threaded programming). The inclusion of OpenMP into the GNU tool-set should help with multi-core programming, but it is not an effective way to create codes that use a distributed memory model (like clusters). MPI is still the best method for this kind of programming. Hybrid programming, OpenMP used on multi-core nodes and MPI used to communicate between nodes is certainly possible. Any takers?