please i just need Clear answer with screen shot for output if needed
#include <stdio.h> #include <omp.h> int main(int argc, char *argv[]) { int i, thread_id; int glob_nloops, priv_nloops; glob_nloops = 0; // parallelize this chunk of code #pragma omp parallel private(priv_nloops, thread_id) { priv_nloops = 0; thread_id = omp_get_thread_num(); // parallelize this for loop #pragma omp for for (i=0; i<100000; ++i) { ++priv_nloops; } // make this a "critical" code section #pragma omp critical { printf("Thread %d is adding its iterations (%d) to sum (%d), ", thread_id, priv_nloops, glob_nloops); glob_nloops += priv_nloops; printf(" total nloops is now %d.\n", glob_nloops); } } printf("Total # loop iterations is %d\n", glob_nloops); return 0; }
Transcribed Image Text:Program2: Critical Code
Using OpenMP you can specify something called a "critical" section of code. This is code that is performed by all
threads, but is only performed by one thread at a time (i.e. in serial). This provides a convenient way of letting you
do things like updating a global variable with local results from each thread, and you don't have to worry about
things like other threads writing to that global variable at the same time (a collision).
#include <stdio.h>
#include <omp.h>
int main (int argc, char *argv[])
int i, thread id;
int glob_nloops, priv_nloops;
glob_nloops = 0;
parallelize this chunk of code
#pragma omp parallel private (priv_nloops, thread_id)
priv_nloops
thread id = omp_get_thread num ();
7 parallelize this for loop
#pragma omp for
for (i=0; i<100000; ++i)
03;
++priv_nloops;
|/ make this a "critical" code section
#pragma omp critical
printf ("Thread %d is adding its iterations (%d) to sum (%d), ",
thread_id, priv_nloops, glob_nloops);
glob_nloops += priv_nloops;
printf (" total nloops is now %d.\n", glob_nloops);
printf("Total # loop iterations is %d\n",
glob_nloops) ;
return 0;
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.