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

What is uniform resource locator, What is Uniform Resource Locator A...

What is Uniform Resource Locator Address of location for accessing Web pages. Clicking on an icon or "hot text" is the most common means of accessing and using a URL. Typing

Show the bidirectional transmission, Q. Show the Bidirectional Transmission...

Q. Show the Bidirectional Transmission? Bidirectional Transmission Each party must maintain S and R to track frames sent and expected Piggybacking hooking ACK wit

Shared programming using library routines, Shared Programming Using Library...

Shared Programming Using Library Routines The most well-liked of them is the use of combo function called fork() and join(). Fork() function is used to make a new child proces

What is ping utility, PING - Packet Internet Gopher A utility that shows...

PING - Packet Internet Gopher A utility that shows connections to one or more remote hosts. The ping command uses the ICMP echo request and echo reply packets to verify whether

Hardware sharing - fundamentals of networks , Hardware Sharing  ne...

Hardware Sharing  network  facilitate the  sharing  devices. For  example  instead of giving  each of 10 employees in  department  of the internet  on modern society is har

asymmetric multiprocessing, Describe what is meant by Asymmetric Multiproc...

Describe what is meant by Asymmetric Multiprocessing (AMP)? Ans) It imposses hierarchy and a division of labour between processors. Only one designated processor, the master, co

Define routing, Define Routing? The process of determining systematical...

Define Routing? The process of determining systematically hoe to forward messages toward the destination nodes based on its address is known as routing.

Explain about virtual circuit switching, Q. Explain about Virtual Circuit S...

Q. Explain about Virtual Circuit Switching? Virtual Circuit Switching - All packets belong to a message (or) session is preserved. - Single route is selected between s

What are gateways, What are gateways? Gateways give connectivity among ...

What are gateways? Gateways give connectivity among two or more network segments. It is usually a computer that runs the gateway software and gives translation services. This t

Time out - transport layer, Time  out Timers  are used to protect  aga...

Time  out Timers  are used to protect  against  lost packet. Each  packet  must have its own logical  timers since  only  a single  packet  will be retransmitted  after timeou

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