Openmp in shared memory programming, Computer Networking

Assignment Help:

OpenMP is a compiler directive based standard developed in the late 1990s jointly by a group of main computer hardware and software vendors. It is portable across a lot of popular platforms including Unix and Windows NT platforms. The OpenMP Fortran API was released on October 28, 1997 and the C/C++ API was released in late 1998. We shall talk about only about C/C++ API.

The OpenMP API uses the fork-join model of parallel implementation. As soon as an OpenMP program starts implementing it creates a single thread of implementation, known as the initial thread. The initial thread implements sequentially. As early as it gets a parallel construct, the thread makes additional threads and works as the master thread for all threads. All of the new threads implement the code inside the parallel construct. Only the master thread continues implementation of the user code beyond the end of the parallel construct. There is no restriction on the number of parallel constructs in a one program. When a thread with its child threads encounters a work-sharing construct, the work inside the construct is separated between the members of the team and implemented co-operatively instead of being implemented by every thread. Implementation of the code by every thread in the team resumes after the end of the work-sharing construct. Library routines and the Synchronization constructs are available in OpenMP to co-ordinate threads and data in parallel and work-sharing constructs.

Each OpenMP directive begins with #pragma omp. The general syntax is

#pragma omp directive-name [Set of clauses]

where omp is an OpenMP keyword. There may be additional clauses (parameters) after the directive name for dissimilar options.

Now, we shall talk about some compiler directives in OpenMP.


Related Discussions:- Openmp in shared memory programming

Modern computer , modern technology in world of 21 century

modern technology in world of 21 century

Program for two library methods with thread , #include void subdomain(...

#include void subdomain(float x[ ], int istart, int ipoints) { int i; for (i = 0; i x[istart+i] = 123.456; } void sub(float x[ 10000], int npoints) {

How many cycles are lost for instruction accessing memory, 1.  A computer s...

1.  A computer system has a two-level memory cache hierarchy. The L1 cache has a zero hit penalty, a miss penalty of 5 ns and a hit rate of 95 percent. The L2 cache has a miss pena

Show the subnetting process, Q. Show the Subnetting process? Subnettin...

Q. Show the Subnetting process? Subnetting (cont) Subnetting creates an intermediary level of hierarchy IP datagram routing then involves three steps: delivery t

What is manchester, Q. What is Manchester? - Utilizes an inversion at t...

Q. What is Manchester? - Utilizes an inversion at the middle of each bit interval for both synchronization and bit representation - Negative-to-positive represents binary 1

Client server processes - application layer, Client  Server Processes ...

Client  Server Processes A network  application  consist  of pairs  of process that send message to one  another  over a network. For  example  in a web application a client

Bandwidth and functionality, The performance of interconnection networks is...

The performance of interconnection networks is calculated on the given parameters. Bandwidth:  It is a calculated of maximum transmit rate among two nodes.   It is calculated i

Clock-driven scheme , Assume that the clock-driven scheme for generating st...

Assume that the clock-driven scheme for generating starting sequence numbers is used with a 16-bit wide clock counter (that is, sequence numbers range from 0 to 2^16).  The clock t

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