For programming distributed memory multiprocessors such as clusters of PC/WS and MPP, message passing is usually used. A message passing system requires programmers to explicitly code the communication and makes writing parallel programs cumbersome.
OpenMP is attracting wide-spread interests because of its easy-to-use parallel programming model. Our goal is to enable OpenMP to transparently program for distributed memory environment such as a cluster of PC without any modification of a OpenMP source program.
While OpenMP is designed as a programming model for shared memory hardware, one way to support OpenMP in a distributed memory environment is to use a software distributed shared memory system (SDSM) as an underlying runtime system for OpenMP. Cluster-enabled Omni OpenMP on SCASH is an implementation of Omni OpenMP compiler for a software distributed shared memory system SCASH running under SCore Cluster System Software.
% ./configure --enable-scash % make % make install
% ./configure --enable-scash -with-scoreDir=SCore_directory
% omcc -omniconfig=scash foo.c
% scout -g pcc2x % scrun -nodes=4 a.outFor more detail about SCore environment, see the SCore documents. In case of SCASH, the number of processors is given by "scrun".
To test your installation, "Omni/tests/scash-test" directory contains some sample programs.