Determine what part of global array to work on thread number, Computer Engineering

Assignment Help:

Q. Determine what part of global array to work on thread number?

#include < omp.h >

void subdomain(float x[ ], int istart, int ipoints)

{

int i;

for (i = 0; i < ipoints; i++)

x[istart+i] = 123.456;

}

void sub(float x[ 10000], int npoints)

{

int t_num, num_t, ipoints, istart;

#pragma omp parallel default(shared) private(t_num , num_t, ipoints, istart)

{

t_num = omp_get_thread_num(); //thread number of current thread

num_t = omp_get_num_threads(); //number of threads

ipoints = npoints / num_t; /* size of partition */

istart = t_num * ipoints; /* starting array index */

if (t_num == num_t-1) /* last thread may do more */

ipoints = npoints - istart;

subdomain(x, istart, ipoints);

}

}

int main()

{

float array[10000];

sub(array, 10000);

return 0;

}

In this illustration we used two library methods : omp_get_num_threads() and omp_get_thread_num().

omp_get_num_threads() returns number of threads which are currently being used in parallel directive. 

omp_get_thread_num() returns thread number (an integer from 0 to omp_get_num_threads() - 1 where thread 0 is master thread).


Related Discussions:- Determine what part of global array to work on thread number

Build data flow diagrams showing functional dependencies, Build data Flow d...

Build data Flow diagrams showing functional dependencies Data flow diagrams are very useful for showing functional dependencies. In data flow diagrams processes are indicated

Declarative programming languages, Declarative programming languages: ...

Declarative programming languages: We notice that declarative programming languages can have some better compensation over procedural ones. Actually, it is often said that a J

Local variables and global variables in lingo programming, Question: (a...

Question: (a) Differentiate between local variables and global variables in Lingo programming. (b) Using examples differentiate between deleteProp() and deleteAt() function

Write a short note on structure chart, Write a short note on structure char...

Write a short note on structure chart.    Structure Chart is an significant program design method and it shows all components of code in a hierarchical format

Decoder, how to make a dec oder

how to make a dec oder

How can we decrement and increment operations, How can we decrement and in...

How can we decrement and increment  operations We  can  implement decrement  and increment  operations  by  using  a  combinational circuit  or  binary  down/up counters.  In

Example of prolog, Example of Prolog: We can say that this is also tru...

Example of Prolog: We can say that this is also true if there are four even numbers. Now we have our first rule: • If there are three or four even numbered cards, such play

Two ways of constructing a larger module to mount flash chip, What are the ...

What are the two ways of constructing a larger module to mount flash chips on a small card? The two ways are:- a) Flash cards b) Flash drivers.

A function declaration and function definition, Explain the difference betw...

Explain the difference between a function declaration and function definition.    Function declaration and Function definition:  A function declaration having the name of th

What is commitment unit, What is commitment unit? When out-of-order exe...

What is commitment unit? When out-of-order execution is permitted, a special control unit is required to guarantee in-order commitment. This is known as the commitment unit. It

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