Write a C program to run on ocelot called threadlab that uses 8 threads to increment a shared variable.
Each thread must loop 10 times, incrementing the shared variable by its Thread ID (tid) in every iteration of the loop. This number for the tid will be in single digits from 0-7.
Once a thread has finished looping, print the ID of the thread saying “Thread [ID] has finished.”
It is important to make use of mutexes so that only one thread is incrementing the shared variable at a time.
Output the value of the shared variable once all threads have finished incrementing it.
Before submission, make sure you clean up the directories so that no miscellaneous files are kept around in the submission. Include the source code and the Makefile in the submission.
If the program does not compile using your Makefile and do something useful when it runs it will not earn any credit.
Code should be nicely indented and commented.
Create a simple Makefile to compile your program into an executable called threadcircuit.
Take a screenshot of the screen showing the output on ocelot.
Explanation & Answer:
User generated content is uploaded by users for the purposes of learning and should be used following Studypool’s honor code & terms of service.