Ch MPI


Ch MPI toolkit is a set of Ch bindings to an advanced implementation of MPI, MPICH2, supporting all of the MPI-1 and MPI-2 functions.

Message Passing Interface (MPI) is a set of API functions enabling programmers to write high performance parallel programs in Fortran, C, or C++, that exchange data between processes to make up an overall parallel task. More information about the official MPI standard can be found at the MPI Forum web site. MPI was designed to support portability and platform independence. Ch MPI toolkit further enhances the portability of MPI. An MPI program C source code can be directly run on different platforms in Ch without tedious compile/link/execute/debug cycles.

With Ch MPI toolkit, you can develop an MPI application in one platform and immediately distribute it to run on multiple platforms in parallel. The truly platform independent feature makes Ch MPI a good candidate for Web-based parallel computing, rapid prototyping, embedded scripting, and mobile code execution.


Publication:
Yu-Cheng Chou, Stephen S. Nestinger, Harry H. Cheng, Ch MPI: Interpretive Parallel Computing in C, IEEE Computing in Science and Engineering, Vol. 12, No. 2, March/April 2010, pp. 54-67.


Below shows interpretively running an MPI program through MPICH2 in a heterogeneous environment consisting of Windows and non-Windows platforms. For instance, the local and remote hosts can be a Windows and Linux machine, respectively. The SMPD (Super Multi-Purpose Daemon) is the process manager used in such environment.