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

Explain about parallel programming environment, Q. Explain about parallel p...

Q. Explain about parallel programming environment? The parallel programming environment comprises of a debugger, an editor, performance evaluator, programme visualizer for incr

What are the limitations of traditional payment instruments, What are the l...

What are the limitations of traditional payment instruments? The limitations of traditional payment system are that they take a lot of time.  These systems needs manual work to

Implementation of logic micro-operations, Q. Implementation of Logic Micro-...

Q. Implementation of Logic Micro-operations? For implementationlet's first ask questions how many logic operations can be performed with two binary variables. We can have 4 pos

Sap system configuration, SAP system configuration includes It include...

SAP system configuration includes It includes :- a) Dialog tasks b) Update tasks.

Define cache line, Define cache line. Cache block is used to refer to a...

Define cache line. Cache block is used to refer to a set of contiguous address location of some size. Cache block is also referred to as cache line.

Microprocessors and motherboards, Module Learning Outcomes for This Assignm...

Module Learning Outcomes for This Assignment 1. Design and minimize a digital electronic circuit using logic devices from ttl and cmos. 2. Explain the hardware design of

Arc consistency, Arc Consistency: There have been many advances in how...

Arc Consistency: There have been many advances in how constraint solvers search for solutions (remember this means an assignment of a value to each variable in such a way that

Colour management, There are three primary colours in pigments - Red, Yello...

There are three primary colours in pigments - Red, Yellow and Blue. There are two ways to produce more colours:   Physical Mixing: Physically mix colours to produce a new colour

Interconnection network in-array processing, Interconnection Network (IN): ...

Interconnection Network (IN):  IN performs data exchange between the PEs, manipulation functions and data routing. This IN is under the control of CU.

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