nested-2.c 525 B

12345678910111213141516171819202122232425262728293031
  1. #include <omp.h>
  2. #include <stdlib.h>
  3. int
  4. main (void)
  5. {
  6. int i = -1, j = -1;
  7. omp_set_nested (0);
  8. omp_set_dynamic (0);
  9. #pragma omp parallel num_threads (4)
  10. {
  11. #pragma omp single
  12. {
  13. i = omp_get_thread_num () + omp_get_num_threads () * 256;
  14. #pragma omp parallel num_threads (2)
  15. {
  16. #pragma omp single
  17. {
  18. j = omp_get_thread_num () + omp_get_num_threads () * 256;
  19. }
  20. }
  21. }
  22. }
  23. if (i < 4 * 256 || i >= 4 * 256 + 4)
  24. abort ();
  25. if (j != 256 + 0)
  26. abort ();
  27. return 0;
  28. }