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

What is the efi shell?, The EFI community has formed an open source shell e...

The EFI community has formed an open source shell environment. Rather than booting directly into a full OS, on some executions, the user can boot to the EFI shell. The shell is an

Illustrate arithmetic shifts with example, Q. Illustrate Arithmetic shifts ...

Q. Illustrate Arithmetic shifts with example? Arithmetic shifts ARITHMETIC SHIFT LEFT and ARITHMETIC SHIFT RIGHT are same as LOGICAL SHIFT LEFT and LOGICAL SHIFT RIGHTexcept th

What are addressing modes, What are Addressing Modes Many of instructio...

What are Addressing Modes Many of instructions that a computer actually executes during running of a program concern movement of data to and from memory. It is not possible sim

Basic elements of assembly language, Basic elements of  Assembly language:...

Basic elements of  Assembly language: Any Assembly language which consists 3 types of instruction statements that are used to define the program operations: Data secti

Explain half-adder with truth-table and logic diagram, What is a half-adder...

What is a half-adder? Explain a half-adder with the help of truth-table and logic diagram. Ans. Half Adder: It is a logic circuit for the addition of two 1-bit numbers is term

Determine the values of the output of the logic gates, Write the values of ...

Write the values of the C output for the following gates: For a(n) ________ gate, the output is zero if any of the inputs are equal to  one. For a(n) ________ gate ,the

What are the different database integrities, What are the different databas...

What are the different database integrities? Semantic Integrity. Relational Integrity. Primary Key Integrity. Value Set Integrity. Foreign Key integrity and

In what way the protection fault handler concludes, In what way the protect...

In what way the protection fault handler concludes? After finishing the implementation of the fault handler, it sets the change and protection bits and clears the copy on write

Command mode using vi editor, What does the c$ command do from command mode...

What does the c$ command do from command mode using Vi Editor? Ans) C$ will start from the character under the curser till the finish of line. So when you use this command it wi

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