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

Explain multipoint connection, Explain multipoint connection. A multipo...

Explain multipoint connection. A multipoint connection is a link among three or more devices. Historically, multipoint connections were used to attach central CPs to distribute

Network devices - network layer and routing , Network Devices a.Hub ...

Network Devices a.Hub b.Repeater c.Bridge d.Gateway e.Switch f.Router Connecting devices can  classified  into networking and internetworking  devices when

Parallel balance point, Parallel Balance Point In order to implement a ...

Parallel Balance Point In order to implement a parallel algorithm on a parallel computer, K number of processors is needed. It may be noted that the given input is assigned to

What do you understand by the term lan, Question: (a) What do you mean...

Question: (a) What do you meant by the term ‘LAN'? How is a LAN different from a WAN? (b) Explain three types of cables which are commonly used with LANs. (c) Three com

Packet sizes, Large data packets result in fewer load because a smaller par...

Large data packets result in fewer load because a smaller part of the packet is used for header information. Optimum networks use 4kB data packets or larger. Large data packets

What is a dns resource record, What is a DNS resource record? A resourc...

What is a DNS resource record? A resource record is an entry in a name server's database. There are various types of resource records used, containing name-to-address resolutio

State the uses of groupware, State the uses of groupware With the use o...

State the uses of groupware With the use of groupware, users can easily do most of the office related management work, which otherwise would be extremely difficult. For instanc

Bit stuffing, bit stuffing program in python

bit stuffing program in python

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