My question is in regards to being able to run the mpi_version of FDS5
on a single multi-core machine to take advantage of parrallel mesh
calculations instead of across processors that are on different
machines on a cluster. I know it is possible to do that, and I have
installed LAM-MPI on the machine I am using, but I am running into
issues with LAM-MPI in specifying the host name computer machine name
in lamhosts file.
Originally, I did try to run mp_FDS on multiple machines within a
cluster, but then I had issues with LAM-MPI. The issue that I have is
that for some reason it doesn't recognize the hostname computer
machine, even though I have the correct name and am trying to start
the simulation from the host computer.
This led me to try just using LAM-MPI to try running it locally on a
multi-core machine, but I don't know how to do this.
I simply try running the mpi_fds5 version, but that doesn't seem to
work for me. I noticed in an earlier post that running the mpi_fds5
version in windows is pretty simple, just a simple command line call
with no extra work or configuration necessary, but I want to run it in
a Linux environment so that I may be able to do some program
profiling.
In that same post, there was mention of an equivalent easy to run
linux version, but so far I have not seen any such release, nor do I
understand what difference (if any) there would be in the ease of
running it over the current linux release.
I apologize in advance for the long post, and would greatly appreciate
any help/insight on the matter.
Malek
If you want to run everything on a single machine, you do not need to
specify the host name. Instead, you can refer to generic 'localhost'
name. Assuming you have the mpi software properly installed, you
should be able to run FDS like this:
mpirun -np 2 -host localhost ~/FDS-SMV/fds5_mpi_intel_linux_64
yourfile.fds
Are there any specific files which I could use to run MPI on to verify
execution? In addition, I am looking to do some program profiling
(using oprofile / valgrind) to learn the program execution trace. Is
there another program that is better suited to profile the mpi
execution? I have seen some posts about monitoring processor core
usage, but no mention of a specific program.
I have copied below what the output file exhibits, so if anyone can
confirm that there is no error (because my script doesn't seem to run,
it complets immediately), and so this would be attributed to running
the wrong kind of input file for this.
I again would appreciate any help.
Thanks.
Synopsis: mpirun [options] <app>
mpirun [options] <where> <program> [<prog args>]
Description: Start an MPI application in LAM/MPI.
Notes:
[options] Zero or more of the options listed
below.
<app> LAM/MPI appschema.
<where> List of LAM nodes and/or CPUs
(examples
below).
<program> Must be a LAM/MPI program that either
invokes MPI_INIT or has exactly one of
its children invoke MPI_INIT.
<prog args> Optional list of command line
arguments
to <program>.
Options:
-c <num> Run <num> copies of <program> (same as
-np).
-c2c Use fast library (C2C) mode.
-client <rank> <host>:<port>
Run IMPI job; connect to the IMPI
server <host>
at port <port> as IMPI client number
<rank>.
-D Change current working directory of
new
processes to the directory where the
executable resides.
-f Do not open stdio descriptors.
-ger Turn on GER mode.
-h Print this help message.
-lamd Use LAM daemon (LAMD) mode (opposite
of -c2c).
-nger Turn off GER mode.
-np <num> Run <num> copies of <program> (same as
-c)
-nsigs Don't catch signals.
-nx Don't export LAM_MPI_* environment
variables.
-O Multicomputer is homogeneous.
-pty Use pty if stdout is a tty.
-s <nodeid> Load <program> from node <nodeid>.
-toff Enable tracing with generation
initially off.
-ton, -t Enable tracing with generation
initially on.
-v Be verbose.
-w / -nw Wait/don't wait for application to
complete.
-wd <dir> Change current working directory of
new
processes to <dir>.
-x <envlist> Export environment vars in <envlist>.
Nodes: n<list>, e.g., n0-3,5
CPUS: c<list>, e.g., c0-3,5
Extras: h (local node), o (origin node), N (all nodes), C (all
CPUs)
Examples: mpirun n0-7 prog1
Executes "prog1" on nodes 0 through 7.
mpirun -lamd -x FOO=bar,DISPLAY N prog2
Executes "prog2" on all nodes using the LAMD RPI.
In the environment of each process, set FOO to the
value
"bar", and set DISPLAY to the current value.
mpirun n0 N prog3
Run "prog3" on node 0, *and* all nodes. This executes
*2*
copies on n0.
mpirun C prog4 arg1 arg2
mpirun c0 C prog5
Simlar to the "prog3" example above, this runs "prog5"
on CPU 0 *and* on each available CPU. This executes
*2* copies on the node where CPU 0 is (i.e., n0).
This is probably not a useful use of the "C" notation;
it is only shown here for an example.
Defaults: -c2c -w -nger -pty
-----------------------------------------------------------------------------
==6494==
==6494== Events : Ir
==6494== Collected : 656551
==6494==
==6494== I refs: 656,551
End of Output text file.
FYI This is how I invoked the mpi execution with valgrind:
(valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes --combine-
dumps=yes mpirun -np 2 -host localhost /home/musleh/FDS/FDS5/bin/
fds5_mpi_intel_linux\
_32 $infile) >& $outfile
I also tried just mpi without valgrind as such:
(mpirun -np 2 -host localhost -v /home/musleh/FDS/FDS5/bin/
fds5_mpi_intel_linux_32 $infile) >& $outfile
Malek
/home/musleh/FDS/FDS5/bin/fds5_mpi_intel_linux_32: error while loading
shared libraries: libaio.so.1: cannot open shared object file: No such
file or directory
I tried using 1.4.1 and then 1.4.0 and no luck. Any suggestions?
Malek
I've had the same error message while using different versions of FDS
and every time realized I'd misspelled something. When spelled
correctly it has worked for me.
2010/1/22 malek <malek....@gmail.com>:
> --
> You received this message because you are subscribed to the Google Groups "FDS and Smokeview Discussions" group.
> To post to this group, send email to fds...@googlegroups.com.
> To unsubscribe from this group, send email to fds-smv+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/fds-smv?hl=en.
>
>
--
Barbro Storm
Emanuele
On Jan 22, 10:11 am, Barbro Maria Storm <bar...@gmail.com> wrote:
> That sounds like you have a typo in your directory, for example
> ~/FDS-SMV/fds5_mpi_intel_linux_64 <-- typo somewhere or in the
> filename of the FDS-file (something.fds).
> Linux is also rather bitchy if you don't use the right character. A
> and a are the same in Windows OS, but in Linux A and a are two
> different characters.
>
> I've had the same error message while using different versions of FDS
> and every time realized I'd misspelled something. When spelled
> correctly it has worked for me.
>
> 2010/1/22 malek <malek.mus...@gmail.com>:
> ...
>
> read more »