New Parallel Programming tools
Ease of programming, portability and superior performance are the vital goals of achieving high productivity in the HEC. Although MPI provides portability and high performance, it is widely known as hard to program. That difficultly fuels the gap between the advances of parallel programming and programmers' knowledge I mentioned on my May 10th blog.
There are many alternatives proposed in the recent years to provide high productivity. I mention some of them in this post.
Global Arrays: this tool kit provides "shared memory" programming interface for distributed memory computers to develop MIMD parallel programs.
UPC: Unified Parallel C is an extension of the C programming language that provides the user with an explicit model of a distributed shared memory system.
Co-array Fortran is an extension to Fortran 95 for Single program multiple data (SPMD) parallel processing.
Cluster OpenMP is an OpenMP extension for clusters. OpenMP is a popular parallel programming paradigm for shared memory multiprocessors. Intel has extended this paradigm for clusters and provides as a component of Intel 9.1 compiler. The performance seems promising, but I have to test it someday to see how good it is.
Ease of programming, portability and superior performance are the vital goals of achieving high productivity in the HEC. Although MPI provides portability and high performance, it is widely known as hard to program. That difficultly fuels the gap between the advances of parallel programming and programmers' knowledge I mentioned on my May 10th blog.
There are many alternatives proposed in the recent years to provide high productivity. I mention some of them in this post.
Global Arrays: this tool kit provides "shared memory" programming interface for distributed memory computers to develop MIMD parallel programs.
UPC: Unified Parallel C is an extension of the C programming language that provides the user with an explicit model of a distributed shared memory system.
Co-array Fortran is an extension to Fortran 95 for Single program multiple data (SPMD) parallel processing.
Cluster OpenMP is an OpenMP extension for clusters. OpenMP is a popular parallel programming paradigm for shared memory multiprocessors. Intel has extended this paradigm for clusters and provides as a component of Intel 9.1 compiler. The performance seems promising, but I have to test it someday to see how good it is.
0 Comments:
Post a Comment
<< Home