Question Description
I’m working on a operating systems multi-part question and need guidance to help me learn.
Operating Systems Project 2 OpenMP Project
Let A and B be N x N matrices of integers. Let X be a vector of integers of size N. Write the following programs:
* 1) A program that populates A and B with randomly generated numbers, computes the sum A + B, and prints out A, B, and A+B.
* 2) A program that populates A and B with randomly generated numbers, computes the product A * B, and prints out A, B, and A*B.
* 3) A program that populates A and X with randomly generated numbers, computes the product A*X, and prints out A, X, A*X.
For each of the above programs, make sure you define N as a constant. These programs will be used in Part 2 in conjunction with OpenMP for your research on the topic.
Part B [60 points]
Using OpenMP, perform a comprehensive study of the parallelization of the above programs along the following variables: N (from small to medium to large), thread scheduling, and number of threads spawned. User level time execution, kernel level time execution, omp_get_wtime for your performance analysis.