1*1099498eSVignesh Balasubramanian // RUN: %gdb-compile-and-run 2>&1 | tee %t.out | FileCheck %s 2*1099498eSVignesh Balasubramanian 3*1099498eSVignesh Balasubramanian #include "../ompt_plugin.h" 4*1099498eSVignesh Balasubramanian #include <omp.h> 5*1099498eSVignesh Balasubramanian #include <pthread.h> 6*1099498eSVignesh Balasubramanian #include <stdio.h> 7*1099498eSVignesh Balasubramanian #include <unistd.h> 8*1099498eSVignesh Balasubramanian main()9*1099498eSVignesh Balasubramanianint main() { 10*1099498eSVignesh Balasubramanian printf("Application: Process %d started.\n", getpid()); 11*1099498eSVignesh Balasubramanian omp_set_num_threads(3); 12*1099498eSVignesh Balasubramanian omp_set_max_active_levels(10); 13*1099498eSVignesh Balasubramanian 14*1099498eSVignesh Balasubramanian #pragma omp parallel // parallel region begins 15*1099498eSVignesh Balasubramanian { 16*1099498eSVignesh Balasubramanian printf("Outer region - thread_ID: %d\n", omp_get_thread_num()); 17*1099498eSVignesh Balasubramanian 18*1099498eSVignesh Balasubramanian #pragma omp parallel num_threads(2) // nested parallel region 1 19*1099498eSVignesh Balasubramanian { 20*1099498eSVignesh Balasubramanian printf("Inner region - thread_ID: %d\n", omp_get_thread_num()); 21*1099498eSVignesh Balasubramanian 22*1099498eSVignesh Balasubramanian #pragma omp parallel num_threads(2) // nested parallel region 2 23*1099498eSVignesh Balasubramanian { 24*1099498eSVignesh Balasubramanian int i; 25*1099498eSVignesh Balasubramanian #pragma omp for 26*1099498eSVignesh Balasubramanian for (i = 0; i < 4; i++) 27*1099498eSVignesh Balasubramanian printf("Thread %i of %i working on %i\n", omp_get_thread_num(), 28*1099498eSVignesh Balasubramanian omp_get_max_threads(), i); 29*1099498eSVignesh Balasubramanian ompd_tool_test(0); 30*1099498eSVignesh Balasubramanian } 31*1099498eSVignesh Balasubramanian } 32*1099498eSVignesh Balasubramanian } 33*1099498eSVignesh Balasubramanian 34*1099498eSVignesh Balasubramanian return 0; 35*1099498eSVignesh Balasubramanian } 36*1099498eSVignesh Balasubramanian 37*1099498eSVignesh Balasubramanian // CHECK-NOT: OMPT-OMPD mismatch 38*1099498eSVignesh Balasubramanian // CHECK-NOT: Python Exception 39*1099498eSVignesh Balasubramanian // CHECK-NOT: The program is not being run. 40