Using library methods returns number of threads, Computer Engineering

Assignment Help:

Q. Using Library methods returns number of threads?

#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:- Using library methods returns number of threads

What is object orientation, What is object orientation? Object orientat...

What is object orientation? Object orientation means that we classify software as a collection of discrete objects that incorporate with together DS and behaviour. Four aspe

Programming in c, Write a program to find the area under the curve y = f(x)...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b

Operator, write algorithm and draw flowchart for exchange the values of two...

write algorithm and draw flowchart for exchange the values of two variables.

Rpn procedure, Apply this algorithm to your MASM program 1) Declare the ...

Apply this algorithm to your MASM program 1) Declare the following variables in your data segment: .data ; ; These are the values of the variables ; Variables

How will you fine-tune a class, How will you fine-tune a class? It is u...

How will you fine-tune a class? It is useful to fine-tune classes before writing code in order to examine development or to improve performance. The purpose of execution is to

Instruction-execution cycle, Problem (a) Using a labelled diagram of ...

Problem (a) Using a labelled diagram of an Instruction-Execution cycle, describe how a CPU executes single machine instructions by referring to the five main operations.

Design the counter using sequential logic, Q. Design the counter using sequ...

Q. Design the counter using sequential logic with following counting sequence using RS- flip-flops. 000, 100, 101, 111, 010, ... ... ... ... ... ... ... ... ... ...

What are micrographics, What are micrographics? A micrographic is an im...

What are micrographics? A micrographic is an image or photographic reproduction of an object which is then changed to film. Micrographics are frequently used for permanent reco

Explain about diodes, Q. Explain about Diodes? A single pn-junction wit...

Q. Explain about Diodes? A single pn-junction with appropriate contacts for connecting the junction to external circuits is called a semiconductor pn-junction diode. The fundam

Associative array processing, Consider that a list of record or a table is ...

Consider that a list of record or a table is stored in the memory and you wish to find some information in that particular list. E.g. the list comprises three fields as displayed b

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