4a) Consider the prior problem. Write a similar program fragment for the calculation in which you assume that the number of threads is P, for P < N and in which P does not necessarily divide N. Make sure to indicate critical sections with appropriate directives, and make sure you use suitable directive clauses to ensure all necessary variables are shared or private.
b) Consider the prior problem. Comment on the suitability of various OpenMP directives (critical, named critical, atomic, lock) for protecting access to whatever critical section you determined in your program.
Required minimum 2 page