Addition of array elements using two processors, Computer Engineering

Assignment Help:

Q. Addition of array elements using two processors?

In this example we have to find sum of all elements of an array A of size n. We will divide n elements in 2 groups of roughly equivalent size. The first [n/2] elements are added by first processor P0 and last [n/2] elements by 2nd processor P1.  The two sums then are added to obtain the final result. The program is given below:

Program for P0

#include

#define n 100

int main(int argc, char **argv) {

int A[n];

int sum0 =0, sum1=0,sum;

MPI_Init(&argc, &argv);

for( int i=0;i

scanf("%d", &A[i]);

MPI_Send( &n/2, n/2, MPI_INT,1, 0, MPI_COMM_WORLD);

for(i=1; i

 sum0+=A[i];

sum1=MPI_Recv(&n/2, n/2, MPI_INT,1, 0, MPI_COMM_WORLD);

sum=sum0+sum1;

printf("%d",sum);

MPI_Finalize();

}

Program for P1,

int func( int B[int n])

{

MPI_Recv(&n/2, n/2, MPI_INT,0, 0, MPI_COMM_WORLD);

 int sum1=0 ;

for (i=0; i

  sum1+=B[i];

MPI_Send( 0, n/2, MPI_INT,0, 0, MPI_COMM_WORLD);

}


Related Discussions:- Addition of array elements using two processors

Basic software, Basic Software: The basic software is also referred to...

Basic Software: The basic software is also referred to as utilities. Basic software packages are available for performing operations such as data entry and validation, sorting

Returns the information about tasks running, Returns the information about ...

Returns the information about tasks running int info = pvm_tasks( int where, int *ntask, struct pvmtaskinfo **taskp ) struct pvmtaskinfo {  int ti_tid; int ti_pt

Differentiate between sequential and combinational circuits, Problem 1 ...

Problem 1 Prove that :- x(x + y) = x by using identities 2 Write a short note on Analog to Digital Converter (ADC) 3 Differentiate between sequential and combinational ci

Enum statement differ from a typedef statement, How does an enumstatement d...

How does an enumstatement differ from a typedef statement? Typedef statement permits user to define an identifier that would show an exiting data type. The user-defined data

Convert binary number in two''s compliment form, Convert binary number in t...

Convert binary number in two's compliment form 0100 1000. Converting the binary number into 2's compliment from 0100 1000 is given below: 01001000 => 10111000

Explain the product of sum form - standard forms, Explain the Product of Su...

Explain the Product of Sum Form - standard forms? The POS is the Boolean Expression containing OR terms, called as sum terms. The product denotes ANDing of these terms. F= (

What is data link layer, Q. What is Data link layer? Data link layer: ...

Q. What is Data link layer? Data link layer: data link layer is responsible for transmitting a group of bits between adjacent nodes. Group of bits is termed as frame. Network

Show the frames inside other frames, Q. Show the Frames inside other frames...

Q. Show the Frames inside other frames? Here we would discuss how to divide frames into different frames that is how to put horizontal frames in a vertical one and vice-versa.

What is analysis iteration, Analysis Iteration   To understand any prob...

Analysis Iteration   To understand any problem completely you have to repeat task which implies that analysis requires repetition. First, just get overview of problem, make a r

Important points of simulations, Important points of simulations In thi...

Important points of simulations In this simulation it is essential to consider: (1)  What and how data is gathered (2)  How simulation is done (3)  How system would wo

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