Mpi functions and environment, Computer Networking

Assignment Help:

MPI contains hundreds of functions, a small subset of which is enough for most practical purposes. We shall talk about some of them in this unit.

Functions for MPI Environment:

int MPI_Init ( int *argc, char ** argv)

    It initializes the MPI environment. By that, No MPI function can be called before MPI_Init.

int MPI_Finalize (void)

It stops the MPI environment.  No MPI function can be called after MPI_Finalize. Each MPI process belongs to one or more groups (also known as communicator). Every process is recognized by its rank (0 to group size -1) within the given group. Initially, all processes belong to a default group known as MPI_COMM_WORLD group. Additional groups can be produced by the user as and when needed.  Now, we shall learn some functions related to communicators.

int MPI_Comm_size (MPI_Comm comm,  int *size)

returns variable size that have number of processes in group comm.

int MPI_Comm_rank (MPI_Comm comm,  int *rank)

returns rank of calling process in group comm.

Functions for Message Passing:

MPI processes cannot share memory space and single process cannot directly access other process's variables. Therefore, they need some type of communication between themselves. In MPI environment this communication is in the kind of message passing. A message in MPI has the following fields:

msgaddr: It can be each address in the sender's address space and refers to location in memory where message data begins.

count:  Number of occurrence of data items of message datatype obtained in message.

datatype:  Type of data in message. This field is beneficial in the sense that MPI supports heterogeneous computing and the different nodes may interpret count field differently. For example, if the message have a strings of 2n characters (count =2n), some machines may interpret it have 2n characters and some containing n characters depending upon the storage allocated per character (1 or 2). The basic datatype in MPI having of all basic parts in C and Fortran with two additional types namely MPI_BYTE and MPI_PACKED. MPI_BYTE denotes a byte of 8 bits.

dest or source : Receiving process or Rank of sending in communicator.

tag: Identifier for definite message or type of message. It let the programmer to deal with the arrival of message in an orderly way, even if the arrival of the message is not orderly.

comm.: Communicator. It is an group of a process and object wrapping context .It is allocated by system instead of user.

The functions used for messaging passing are:

int MPI_Send(void *msgaddr, int count,  MPI_Datatype datatype, int dest, int tag, MPI_Comm comm.)

on return, msg can be reused instantly.

int MPI_Recv(void *msgaddr, int count,  MPI_Datatype datatype, int dest, int tag, MPI_Comm comm.)

on return, msg contains requested message.

MPI message passing may be either collective or point-to-point.


Related Discussions:- Mpi functions and environment

Determine three features of igrp, GRP uses a composite metric complete up o...

GRP uses a composite metric complete up of bandwidth and delay by default, it updates each 60 Seconds and will trigger an update if the topology changes.

Tcp segment structure - transport layer, TCP Segment Structure Figure ...

TCP Segment Structure Figure shows the format of the TCP segment. The  header consists  of a 20 bytes  fixed  part  plus a variable size  options fields. The description  o

Overview of the transport layer protocols, Overview of the Transport  Laye...

Overview of the Transport  Layer Protocols Transport layer  can be  available  more than  protocols  to the  network  applications. For  example the network  applications. For

Switching via memory - network layer and routing , Switching  via memory ...

Switching  via memory Traditional  computers with switching  between  input and output  being  doen under  direct  control  of the CPU input and output  ports  functioned as tr

Troubleshoot and correct vtp and configuration errors-ccna, Troubleshoot an...

Troubleshoot and Correct VTP and Configuration Errors When all errors are corrected, you should be capable to ping PC4 from PC1, PC5 from PC2, and PC6 from PC3. You should also

Describe the term - certification authority, Describe the term - Certificat...

Describe the term - Certification Authority The certification is most easily implemented with a custom solution combined with a server, called the Certification Authority (CA).

Explain functions and protocols and services of each layer, Describe in pro...

Describe in proper details about OSI Model ? Explain the functions and protocols and services of each layer ?

Use of infrared, Q. Use of Infrared? - Frequencies among 300 GHz and 4...

Q. Use of Infrared? - Frequencies among 300 GHz and 400 THz - Short-range communication - High frequencies can't penetrate walls - Necessitate line-of-sight propagati

Type of failures and bathtub curve, AILURES AND BATHTUB CURVE The life ...

AILURES AND BATHTUB CURVE The life of a component system can be grouped into three different phases typical curve depicting these three is called the bathtub curve due to its s

Error detection in lrc - performance, LRC - Performance Detects ev...

LRC - Performance Detects every burst errors up to length n (number of columns) If two bits in one data unit are damaged as well as two bits in exactly same positions

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd