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

Assembly langaauge microprocessor, write alp to perform bcd addition withou...

write alp to perform bcd addition without using procedure

Explain rby and cmyk colour printing, Q. Explain RBY and CMYK colour Printi...

Q. Explain RBY and CMYK colour Printing? For good printing printers don't use RBY in place of that they use CMYK (Cyan instead of Blue, Magenta instead of Red, Yellow and a sep

Explain the working of master-slave JK flip flop, With relevant diagram exp...

With relevant diagram explain the working of master-slave JK flip flop. Ans. Master-Slave J-K FLIP-FLOP: A cascade of two S-R FLIP-FLOPS is a master-slave J-K FLIP-FLOP. One

Where can i find my user preferences?, Customized User Preferences offer tr...

Customized User Preferences offer tremendous versatility to your individual Bugzilla experience. Let's plunge into what you can do! The first step is to click the "Edit prefs" link

Explain loop level of parallel processing, Loop Level At this stage, fo...

Loop Level At this stage, following loop iterations are candidates for parallel execution. Though, data dependencies among subsequent iterations can restrict parallel execution

Fundamental issues of concerns for instruction set design, Q. Fundamental i...

Q. Fundamental issues of concerns for instruction set design? A number of fundamental issues of concerns for instruction set design are: Completeness: For an early design

What is disk controller and word count, What is disk controller The ele...

What is disk controller The electronic circuit that controls the operation of the disk known as disk controller.  word count The number of words in the block to be tran

Differentiate between $display and $strobe, Differentiate between $display ...

Differentiate between $display and $strobe These commands have similar syntax, and display text on screen during simulation. $display and $strobe display once every time they a

Define handshaking, Define Handshaking. Handshaking is a method commonl...

Define Handshaking. Handshaking is a method commonly used to accompany ever data item being transfer with the control signal that show the presence of data in the bus. The unit

Programming for arithmetic and string operations, Advanced aspects of assem...

Advanced aspects of assembly language programming in this section. A number of these aspects give assembly an edge over high level language programming as far as efficiency is conc

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