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

Name two special purpose registers, Name two special purpose registers. ...

Name two special purpose registers. Index register Stack pointer

Convenience of environments -artificial intelligence , Convenience of Envir...

Convenience of Environments -artificial intelligence: In some cases, some aspects of an environment which should be taken into account in decisions about actions may be unavai

Translate the following sentences into predicate logic, Translate the follo...

Translate the following sentences into predicate logic. Give as much structure as possible. Provide a translation key for each predicate letter and individual constant. In your tra

Era of first generation computers, Q. Era of first generation computers? ...

Q. Era of first generation computers? The trends that were encountered at the time of the era of first generation computers were: Centralized control in a single CPU (al

What is socket, A socket is one end-point of a two-way communication link a...

A socket is one end-point of a two-way communication link among two programs running on the network. Socket classes are used to show the connection among a client program and a ser

What are pages, What are pages? All programs and date are composed of f...

What are pages? All programs and date are composed of fixed length units known as pages. Each page consists of blocks of words that occupy contiguous locations in main memory

Name the appliances which are controlled by micro-processor, Name the appli...

Name the appliances which are controlled by micro-processor Many household appliances which are microprocessor-controlled do not have operating systems (for example microwave o

Stack overflow causes, Stack overflow causes   (A) Hardware interrupt. ...

Stack overflow causes   (A) Hardware interrupt.  (B) External interrupt.  (C) Internal interrupt.   (D) Software interrupt. Stack overflow occurs whereas execution

Explain working of counters, Q. Explain working of Counters? A counter ...

Q. Explain working of Counters? A counter is a register that goes through a predetermined sequence of states when clock pulse is applied. In principle value of counters is incr

Exponential search, Exponential Search Another alternative to variable ...

Exponential Search Another alternative to variable size decrease-and-conquer search is known as exponential search. This algorithm begins searching at the beginning of the list

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