Table of contents:
- Can I mix different versions of LAM?
- What does
crtcp, gm, ib, tcp, sysv, and
usysv mean?
- I found an old copy of LAM 6.0/6.1/6.2.x/6.3.x somewhere on the net. Should I use it?
[ Return to FAQ ]
|
1. Can I mix different versions of LAM? |
NO.
LAM/MPI is only guaranteed to be source-code compatible only.
The LAM Team does not guarantee binary compatibility between any two versions of LAM/MPI. Indeed, we can pretty much guarantee that binary compatibility between multiple versions of LAM/MPI will not work.
The following are examples of mixing multiple versions of LAM/MPI, and will almost certainly not work:
- Attempting to
lamboot multiple versions of LAM/MPI
- Running an MPI program compiled against one version of LAM/MPI in a the run-time of another version of LAM/MPI
In general, when upgrading to a new version of LAM/MPI, you must recompile all MPI programs with the new version of LAM/MPI.
[ Top of page | Return to FAQ ]
2. What does crtcp, gm, ib, tcp, sysv, and
usysv mean? |
LAM provides several message transport layers which implement the
request progression interface (RPI). They are:
- crtcp
The crtcp transport is exactly the same as the tcp transport
except that it can be checkpointed and restarted.
- gm
The gm transport uses the Myrinet GM interface for interprocess
communication.
- ib
The ib transport uses the Infiniband (Mellanox VAPI) interface
for interprocess communication.
- tcp
The tcp transport uses TCP sockets for all interprocess
communication.
- usysv
The usysv transport is multi-protocol. Processes on the same
node
communicate via SYSV shared memory and processes on different nodes
communicate via TCP sockets. It uses spin-locks for shared memory
synchronization as well as a SYSV semaphore or pthread mutex for
synchronizing access to a per node global shared memory pool.
The spin-locks require that the architecture has strongly ordered
writes and this transport is only supported on such platforms. It
should be relatively easy to modify this transport to work on systems
with weakly ordered writes by adding memory barriers in appropriate
places.
- sysv
The sysv transport is the same as the usysv transport except that
SYSV semaphores are used for message synchronization rather than
spin-locks. On some uniprocessor systems (e.g. Linux) the blocking
nature of semaphores can lead to better performance than when using
spin-locks.
The usysv transport should give the best performance on SMPs.
[ Top of page | Return to FAQ ]
|
3. I found an old copy of LAM 6.0/6.1/6.2.x/6.3.x somewhere on the net. Should I use it? |
NO!
Any LAM versions prior to the current version has known problems and issues that are fixed in later releases. If you have some unexplained problems with LAM and are using an old version, you are highly encouraged to upgrade to a later version to see if this solves your problem(s).
Because later versions of LAM have fixed problems from old versions, the LAM Team has decided to not make these old versions available to the public anymore. However, some sites on the internet undoubtedly have LAM 6.0/6.1/6.2 still available. If you find such a site, please notify the site administrator to update their local mirror to a later version, or have them contact the LAM Team directly.
[ Top of page | Return to FAQ ]
|