Already have an account? Get multiple benefits of using own account!
Login in your account..!
Remember me
Don't have an account? Create your account in less than a minutes,
Forgot password? how can I recover my password now!
Enter right registered email to receive password!
Present your own fully documented and tested programming example illustrating the prevention of a data race in a parallelised program.
This is an example where total number of prime number between 2 and 10000 is being calculated. The order of memory accesses is prevented from being non-deterministic and from the code data race is avoided by making it parallelized with OpenMP directives. The inconsistency can be seen by running the program consecutively for 3 or more times.
#include
#define MyThreads 4
#define num 10000
int primeNum[num];
int primeF[num];
int is_prime(int v)
{
int i;
int lim = floor(sqrt(v)) + 1;
for (i = 2; i < lim; i++) {
/* no need to check against known composites */
if (!primeF[i])
continue;
if (v % i == 0) {
primeF[v] = 0;
return 0;
}
return (v > 1);
int main(int argn, char **argv)
int total = 0;
printf("Enter a number greater than 2");
scanf("%d", &num)
#ifdef _OPEnumMP
omp_set_dynamic(0);
omp_set_num_threads(MyThreads);
#endif
for (i = 0; i < num; i++) {
primeF[i] = 1;
#pragma omp parallel for
for (i = 2; i < num; i++) {
if ( is_prime(i) ) {
primeNum[total] = i;
total++;
printf("total prime numbers that lie between 2 and %d: %d\n",
num, total);
What is macro expansion
Two Level Directory This kind of structure overcomes the problems of assigning unique names to the files. Thus there need not be any confusion among users. In this kind of s
Problem: (a) Based on your experience in setting up Windows 2003 Server operating system, briefly describe the twelve different steps in which the installation is conducted du
what is cpu
Process Description A process in UNIX is a somewhat complex set of data structures that provides the operating system with all of the information necessary to dispatch and manag
Assume that P A , P B and P C are three distinguished program s . When P A is executed, it needs 10 ticks to complete its execution and it forks new processes executing P B at tick
General Graph Directory A serious trouble with using an acyclic graph structure is making sure that there are no cycles. When links are further added to an existing tree struc
Define the Client - Server Communications Environment Today's client - server communications environment offers programmers great flexibility for application design. Applicatio
Define caching. A cache is a region of fast memory that holds copies of data. Access to the cached copy is well-organized than access to the original. Caching and buffering are
categorize the CPU scheduling algorithms and among them explain the non-preemptive algorithms..
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!
whatsapp: +91-977-207-8620
Phone: +91-977-207-8620
Email: [email protected]
All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd