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

Cisc approach - cisc architecture, CISC Approach - CISC architecture: ...

CISC Approach - CISC architecture: The main goal of CISC architecture is to finish a task in as few lines of assembly as possible as. This is gain by building processor hardwa

Which one is an error reporting protocol, Which one is an error reporting p...

Which one is an error reporting protocol? An error reporting protocol is ICMP.

Parallel edge or self loop of the total number of edges, A graph with n ver...

A graph with n vertices will definitely have a parallel edge or self loop of the total number of edges are More than n(n-1)/2

Describe about managing data tasks?, Data can be handled by using the featu...

Data can be handled by using the features of Import text wizard and export text wizard. Here you can keep the operation for future use. First you should edit the specification name

Instruction set architecture - computer architecture, Instruction Set Archi...

Instruction Set Architecture:                             Instruction set architecture cycle-it is smallest unit of time in a processor. superscalar processor

Explaintask and parallel task, Task   A task is logically discrete ...

Task   A task is logically discrete section of computational work. A task is normally a program or else set of instructions which are executed by a processor. Parallel

Define the term web service with example, Define the term web service with ...

Define the term web service with example. A web service is an application that operate over a network-typically, over the Internet. Most typically, a web service is an API that

What is sensitivity list, What is sensitivity list? A list of signals w...

What is sensitivity list? A list of signals which trigger execution of the block when they change value. Sensitivity list  indicates that when a change occurs to any one of

What is random access memory, What is Random access memory (RAM) This i...

What is Random access memory (RAM) This is a volatile memory (i.e. contents are lost when computer is switched off). A user can write or delete data and read the contents. Befo

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