Sponsored Content
Top Forums Programming A serious application using MPI???? Post 302785409 by gabam on Monday 25th of March 2013 02:29:43 PM
Old 03-25-2013
A serious application using MPI????

Hey friends,
I am very new to the world of Message Passing Interface(MP), and learning writing small programs with it on my personal cluster. I intend to do my final year project using MPI. Could you tell me what kind of an application one could develop which could be considered serious enough for a semester project?

Thanks for your time!!
 

10 More Discussions You Might Find Interesting

1. Solaris

where can i download unix mpi ?

where can i download unix mpi? I have a sun workstation with solaris2.8 system and 8 cpus. I want to run parallel program but have no mpi software. Some people say there is unix mpi but i can not find it.Who can help me?Thanks.<removed> is my email. (2 Replies)
Discussion started by: jingwp
2 Replies

2. Solaris

please help me about solaris mpi

Dear Sir./Madam, Thanks the help from some users here,I have downloaded solaris mpi software and installed into my SUN E3500 SUNOS5.8 system. I need more help. When I submit the parallel computing task,there is a error message "ld.so.1 : /workdir/computingsoft.x : fatal : libmpi.so.1 : open... (1 Reply)
Discussion started by: jingwp
1 Replies

3. Programming

help required for linux MPI

hi I am starting with MPI programming, can anyone suggest me some books for MPI or some good online tutorials which will cover both theory and programming. thanks (0 Replies)
Discussion started by: bhakti
0 Replies

4. UNIX for Dummies Questions & Answers

MPI in Rock cluster

hi, may i know how to run mpi after i had install the rock cluster? is there any guidelines or examples? (0 Replies)
Discussion started by: joannetan9984
0 Replies

5. High Performance Computing

MPI, recovering node

Hi all, I'm writing an MPI application, in which I handle failures and recover them. In order to do that, in case of one node failure, I would like to remove that node from the MPI_COMM_WORLD group and continue with the remaining nodes. Does anybody know how I can do that? I'm using... (5 Replies)
Discussion started by: SaTYR
5 Replies

6. High Performance Computing

MPI error message and other applicatioins

1st,I'm a newbie. I've written a mpi program to realize the parallel computing and encounter many problems. 1. When the computing scale is small, that means the communication time is short, just needs few minutes, such as 14 minutes or less. The program runs well and finished the jog. ... (0 Replies)
Discussion started by: mystline
0 Replies

7. High Performance Computing

MPI - Error on sending argv

Hi all, I write a simple MPI program to send a text message to another process. The code is below. (test.c) #include "mpi.h" #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char* argv) { int dest, noProcesses, processId; MPI_Status status; ... (0 Replies)
Discussion started by: awiles
0 Replies

8. High Performance Computing

MPI + Cluster SMP

Hola, he instalado mpich2 vs. 1.2.1p1 en un cluster de biprocesadores con las opciones por defecto (antes usaba ssm pero visto que se quedaba colgado, lo he dejado con nemesis). El caso es que quisiera que cada vez que lanzo un job (por ejemplo de 2 procesos), cada proceso del trabajo se fuera... (1 Reply)
Discussion started by: Sonia_
1 Replies

9. High Performance Computing

Installation of MPI in a cluster of SMPs

Hi, I've installed mpich2 v. 1.2.1p1 on a cluster of dual-processors with the default options (in previous versions I used 'ssm' device, but now I use 'nemesis'). I'd like that every time I execute a job (e.g. with 2 MPI-processes), each job's process be dispatched on a different machine... (0 Replies)
Discussion started by: Sonia_
0 Replies

10. Programming

MPI C++ in a nested loop

I have a MPI program like this: void slave1(int j){ MPI_Status status; MPI_Recv(&j,1,MPI_INT,0,0,MPI_COMM_WORLD,&status);} void slave2(int j){ MPI_Status status; MPI_Recv(&j,1,MPI_INT,0,1,MPI_COMM_WORLD,&status);} int main(int argc, char *argv){ int numprocs, rank; ... (0 Replies)
Discussion started by: wanliushao
0 Replies
libmpi(7)							   LAM OVERVIEW 							 libmpi(7)

NAME
libmpi - LAM/MPI implementation DESCRIPTION
LAM features a full implementation of Message Passing Interface (MPI) 1 standard with many features included from the MPI-2 standard. Compliant applications are source code portable between LAM and any other implementation of MPI. In addition to meeting the standard in a high quality manner, LAM offers extensive monitoring capabilities to support debugging. Monitoring happens on two levels. LAM has the hooks to allow a snapshot of process and message status to be taken at any time during an application run. The status includes all aspects of synchronization plus datatype map / signature, communicator group membership and message contents. On the second level, the MPI library is instrumented to produce a cumulative record of communication, which can be visualized either at runtime or post-mortem. LAM/MPI features the ability to change its underlying message transport mechanism, as well as pass tunable parameters to different compo- nents in LAM/MPI at run-time -- without the need to recompile or relink user MPI applications. This provides great flexibility for both developers of MPI software as well as researchers investigating MPI performance. This modual framework is called the System Services Interface (SSI), and is responsible for much of the back-end functionality in LAM/MPI. Another strength of this MPI implementation is the movement of non-blocking communication requests, including those that result from buffered sends. This is the real challenge of implementing MPI; everything else is mostly a straight forward wrapping of an underlying communication mechanism. LAM allows messages to be buffered on the source end in any state of progression, including partially transmitted packets. This capability leads to great portability and robustness. User Information Users are strongly encouraged to read the LAM/MPI User's Guide that is included with the LAM/MPI distribution, and is provided on the main LAM/MPI web site (http://www.lam-mpi.org/). Up-to-Date Information The LAM home page can be found on the World Wide Web at: http://www.lam-mpi.org/. It should be consulted for the most current information about LAM, as well as updates, patches, etc. MPI Communication The sophisticated message advancing engine at the heart of the MPI library uses only a handful of routines to drive the underlying communi- cation system. Runtime flags decide which message passing engine module is used, so recompilation of user programs is not necessary. The different message passing engines are commonly referred to as "Request Progression Interface" (RPI) modules. The LAM/MPI distribution includes multiple RPI modules; see the lamssi_rpi(7) man page for more details. One notable module uses LAM's network message-passing subsystem, including its buffer daemon. In this "daemon" mode, LAM's extensive moni- toring features are fully available. Although the "daemon" mode typically incurrs higher latency than the "native" RPI modules, applica- tions that can utilize latency-hiding techniques may experience greater performance due to the daemon-mode's ability to exhibit true asyn- chronous message passing. Guaranteed Envelope Resources Applications may fail, legitimately, on some implementations but not others due to an escape hatch in the MPI Standard called "resource limitations". Most resources are managed locally and it is easy for an implementation to provide a helpful error code and/or message when a resource is exhausted. Buffer space for message envelopes is often a remote resource (as in LAM) which is difficult to manage. An over- flow may not be reported (as in some other implementations) to the process that caused the overflow. Moreover, interpretation of the MPI guarantee on message progress may confuse the debugging of an application that actually died on envelope overflow. LAM has a property called "Guaranteed Envelope Resources" (GER) which serves two purposes. It is a promise from the implementation to the application that a minimum amount of envelope buffering will be available to each process pair. Secondly, it ensures that the producer of messages that overflows this resource will be throttled or cited with an error as necessary. A minimum GER is configured when LAM is built. The MPI library uses a protocol to ensure GER when running in daemon mode. The default C2C mode (TCP/IP) does not use a protocol, because process-pair protection is provided by TCP/IP itself. Errors are only reported to the receiving process in C2C mode. An option to mpirun(1) disables GER. Input and Output The MPI standard does not specify standard I/O functionality. LAM does not interfere with the I/O capabilities of the underlying system but it does make special provisions for remote terminal I/O using the ANSI/POSIX routines. See mpirun(1) and tstdio(3). LAM now includes the ROMIO distribution for MPI-2 file input and output. If ROMIO support is compiled into LAM, the functionality from Chapter 9 of the MPI-2 standard is provided. ROMIO has some important limitations under LAM; the User's Guide in the LAM distribution should be consulted before writing MPI programs that use MPI I/O. Dynamic Processes LAM includes an implementation of MPI-2 dynamic process creation. LAM Extensions to MPI Debugging Aids LAM includes the MPI-2 functionality for naming opaque types. Support for the Etnus TotalView parallel debugger is also provided; see the User's Guide for more details. Additionally, LAM provides the capability to launch non-MPI programs on remote nodes. This includes shell scripts, debuggers, etc. As long as an MPI program is eventually launched (as a child, grandchild, etc.), LAM can handle executing as many intermediate programs as necessary. This can greatly help debugging and logging of user programs. Trace Generation To avoid being swamped with trace data from a long running application, LAM supplies collective operations to turn the tap on and off. See MPIL_Trace_on(2) and MPIL_Trace_off(2). Asynchronous Signals LAM has an signal handling package which mirrors but does not interfere with POSIX signal handling. An MPI extension routine delivers a signal to a process. See MPIL_Signal(2). SEE ALSO
Overview of Commands and Libraries introu(1), introc(2), INTROF(2) System Services Interface (SSI) lamssi(7), lamssi_boot(7), lamssi_coll(7), lamssi_rpi(7) Starting / Stopping LAM recon(1), lamboot(1), lamhalt(1), lamnodes(1), lamwipe(1), tping(1), lamgrow(1), lamshrink(1) Compiling MPI Applications mpicc(1), mpiCC(1), mpif77(1) Running MPI Applications mpirun(1), lamclean(1) Running Non-MPI Applications lamexec(1) Monitoring MPI Applications mpitask(1) Unloading MPI Trace Data lamtrace(1) Reference Documents "LAM/MPI Installation Guide" included in the LAM/MPI distribution and available on http://www.lam-mpi.org/ "LAM/MPI User's Guide" included in the LAM/MPI distribution and available on http://www.lam-mpi.org/ "LAM Frequently Asked Questions" at http://www.lam-mpi.org/faq/ "MPI Primer / Developing with LAM", Ohio Supercomputer Center "MPI: A Message-Passing Interface Standard", Message-Passing Interface Forum, version 1.1 at http://www.mpi-forum.org/ "MPI-2: Extensions to the Message Passing Interface", Message Passing Interface Forum, version 2.0 at http://www.mpi-forum.org/ MPI Quick Tutorials "LAM/MPI ND User Guide / Introduction" "MPI: It's Easy to Get Started" "MPI: Everyday Datatypes" "MPI: Everyday Collective Communication" at http://www.lam-mpi.org/mpi/tutorials/lam/ Guaranteed Envelope Resources "Robust MPI Message Delivery Through Guaranteed Resources", MPI Developer's Conference, 1995 LAM 7.1.4 July, 2007 libmpi(7)
All times are GMT -4. The time now is 09:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy