Parallel Programming in OpenMP

Aimed at the working researcher or scientific C/C++ or Fortran programmer, this text introduces the competent research programmer to a new vocabulary of idioms and techniques for parallelizing software using OpenMP.
Explain why each of the following loops can or cannot be parallelized with a parallel do (or parallel for) directive.
do i = 1, N if (x(i) .gt. maxval) goto 100 enddo 100 continue
x(N/2:N) = a * y(N/2:N) + z(N/2:N)
do i = 1, N do j = 1, size(i) a(j, i) = a(j, i) + a(j + 1, i)<a name="222"></a><a name="page91"></a> enddo enddo
for (i = 0; i < N; i++) { if (weight[i] > HEAVY) { pid = fork(); ...