The compilation of an OpenMP/C program is as easy as an C
compilation. An example of a LAPLACE program can be found in
/opt/score/example/scash/laplace.omp/laplace_omp.c
,
/opt/score/example/scash/laplace.omp/second.c
.
Copy the program and the include file
/opt/score/example/scash/laplace.omp/laplace.h
to your work
directory. Make sure the program is
saved as laplace_omp.c
, since the Omni OpenMP/C compiler only
accepts source files suffixed with .c
. Compile the program
as follows:
$ omcc -omniconfig=scash -o laplace_omp laplace_omp.c second.c -lm $
Just as a normal C compiler, the Omni OpenMP/C compiler omcc
produces an executable file, named laplace_omp
. The Omni OpenMP/C compiler
accepts most of the compiler options that the C compiler accepts.
You may invoke the Compute Host Lock Client,
msgb
(1), as follows
to find some free hosts in the cluster:
$ msgb -group pcc &
pcc
is a group defined in the
SCore cluster database,
scorehosts.db
(5).
Invoke the scout
program with the same group
name on which to run your program:
$ scout -g pcc SCOUT: Spawn done. SCOUT: session started $A new shell process is now created as a child of the
scout
program.
If msgb
is running, some or all hosts in the
msgb
window will turn red when the remote processes are
invoked with scout
.
Note that the host which the scout
program
is invoked doesn't have to be one of the hosts of your cluster.
Eventually you can invoke the program:
$ scrun -nodes=2x1,network=myrinet ./laplace_mpc SCORE: connected (jid=100) <0:0> SCORE: 2 nodes (2x1) ready. ... $You can find other SCASH examples under the
/opt/score/example/scash
directory.