-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
46 lines (35 loc) · 1.54 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
non-mpi-cmd can be used to run non-MPI-aware commands in parallel on a cluster.
For example, to run the ls command on a directory in parallel, you can use
./non-mpi-cmd -c /bin/ls -d /home/furlongm/non-mpi-cmd
and the (non-parallel) output will be:
$ ./non-mpi-cmd -c /bin/ls -d /home/furlongm/non-mpi-cmd
[MASTER] Running command: /bin/ls
[MASTER] Processing 5 files
[MASTER] Running with 1 processes on tango.vpac.org
[MASTER] tango.vpac.org: non-mpi-cmd.o
[MASTER] tango.vpac.org: non-mpi-cmd.c
[MASTER] tango.vpac.org: non-mpi-cmd
[MASTER] tango.vpac.org: README
[MASTER] tango.vpac.org: Makefile
[MASTER] Done.
When submitted as part of a job on a cluster, you can use non-mpi-cmd
to parallelise commands that normally don't run in parallel, e.g. text or
image processing tools that operate on one file at a time.
A sample pbs script for submitting such a job:
#!/bin/bash
#PBS -N europarl
#PBS -l nodes=32
#PBS -l pmem=200mb
#PBS -m ae
#PBS -l walltime=0:40:00
module load libxslt
cd $PBS_O_WORKDIR
mpiexec --mca mpi_warn_on_fork 0 \
/home/furlongm/bin/non-mpi-cmd -c /home/furlongm/bin/europarl-parser.sh -d .
Note that the full path to the binary or script is required, feel free to
submit a patch that searches the current PATH environment. If you need to
submit arguments to the command, enclose the entire command in quotes:
./non-mpi-cmd -c "/bin/ls -l" -d /home/furlongm/non-mpi-cmd
Adding "--mca mpi_warn_on_fork 0" to your mpiexec commands will avoid mpi
errors about forking.
To compile, type make. You make need to "module load openmpi-gcc" first.