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

Design a simple digital clock., Use a timer interrupt to design a easy digi...

Use a timer interrupt to design a easy digital clock.  This clock will count only minutes and seconds, and start at 00:00 every time your program starts.  The show on the screen sh

Capacity and access speed of hard disk, Capacity and access speed: PC ...

Capacity and access speed: PC hard disk drive capacity (measured in GB). The vertical axis is logarithmic, so the accurate line corresponds to exponential growth.  By using

Name various work processes of r/3 system, Name various work processes of R...

Name various work processes of R/3 system? A) Dialog or Online (processes only one request at a time). B) Background (Started at a specific time) C) Update (primary or se

Raid and data stripping, Explained RAID? Ans: High performance devices ...

Explained RAID? Ans: High performance devices tend to be costly. So we can gain very high performance at a reasonable cost using a number of low-cost devices operating in paral

How to manage the web based projects, How to manage the web based projects?...

How to manage the web based projects? Many project management applications contain additional functions useful in the management of group projects. These features may contain g

Calculations for a standard vga graphics screen, Q. Calculations for a stan...

Q. Calculations for a standard VGA graphics screen? Let's do the calculations for a standard VGA graphics screen (640×480) using 16 colours. Total number of Pixels = 640 ×48

Explain about zip drive, Q. Explain about Zip Drive? Zip Drive: Loads...

Q. Explain about Zip Drive? Zip Drive: Loads of files, Volumes of data have definitely increased onus on today's computer user and protection of this data is what bugs every

What is the use of ''using'' declaration in c++, A using declaration in C++...

A using declaration in C++ makes it likely to use a name from a namespace without the scope operator.

Explain about merge sort circuit, Q. Explain about Merge sort circuit? ...

Q. Explain about Merge sort circuit? First split the given sequence of n numbers in two parts every part comprising of n/2 numbers. Afterwards recursively divide the sequence i

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