1*e4ac11beSHansang Bae // RUN: %libomp-compile-and-run | %sort-threads | FileCheck %s 2*e4ac11beSHansang Bae // REQUIRES: ompt 3*e4ac11beSHansang Bae // UNSUPPORTED: gnu, intel-16.0 4*e4ac11beSHansang Bae 5*e4ac11beSHansang Bae #include "callback.h" 6*e4ac11beSHansang Bae #include <omp.h> 7*e4ac11beSHansang Bae main()8*e4ac11beSHansang Baeint main() { 9*e4ac11beSHansang Bae unsigned int i, x; 10*e4ac11beSHansang Bae 11*e4ac11beSHansang Bae #pragma omp parallel num_threads(2) 12*e4ac11beSHansang Bae { 13*e4ac11beSHansang Bae #pragma omp barrier 14*e4ac11beSHansang Bae 15*e4ac11beSHansang Bae #pragma omp master 16*e4ac11beSHansang Bae #pragma omp taskloop grainsize(4) 17*e4ac11beSHansang Bae for (i = 0; i < 16; i++) { 18*e4ac11beSHansang Bae // Make every iteration takes at least 1ms 19*e4ac11beSHansang Bae delay(1000); 20*e4ac11beSHansang Bae } 21*e4ac11beSHansang Bae } 22*e4ac11beSHansang Bae // CHECK: 0: NULL_POINTER=[[NULL:.*$]] 23*e4ac11beSHansang Bae 24*e4ac11beSHansang Bae // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_parallel_begin: 25*e4ac11beSHansang Bae // CHECK-SAME: parent_task_id={{[0-9]+}} 26*e4ac11beSHansang Bae // CHECK-SAME: parallel_id=[[PARALLEL_ID:[0-9]+]] 27*e4ac11beSHansang Bae // CHECK-SAME: requested_team_size=2 28*e4ac11beSHansang Bae // CHECK: {{^}}[[MASTER_ID]]: ompt_event_implicit_task_begin: 29*e4ac11beSHansang Bae // CHECK-SAME: parallel_id=[[PARALLEL_ID]] 30*e4ac11beSHansang Bae // CHECK-SAME: task_id=[[IMPLICIT_TASK_ID1:[0-9]+]] 31*e4ac11beSHansang Bae // CHECK-SAME: team_size=2, thread_num=0 32*e4ac11beSHansang Bae 33*e4ac11beSHansang Bae // CHECK: {{^}}[[MASTER_ID]]: ompt_event_taskloop_begin: 34*e4ac11beSHansang Bae // CHECK-SAME: parallel_id=[[PARALLEL_ID]] 35*e4ac11beSHansang Bae // CHECK-SAME: parent_task_id=[[IMPLICIT_TASK_ID1]] 36*e4ac11beSHansang Bae // CHECK-SAME: codeptr_ra=[[RETURN_ADDRESS:0x[0-f]+]], count=16 37*e4ac11beSHansang Bae 38*e4ac11beSHansang Bae // CHECK: {{^}}[[MASTER_ID]]: ompt_event_task_create: 39*e4ac11beSHansang Bae // CHECK-SAME: new_task_id=[[TASK_ID0:[0-9]+]] 40*e4ac11beSHansang Bae // CHECK: {{^}}[[MASTER_ID]]: ompt_event_task_create: 41*e4ac11beSHansang Bae // CHECK-SAME: new_task_id=[[TASK_ID1:[0-9]+]] 42*e4ac11beSHansang Bae // CHECK: {{^}}[[MASTER_ID]]: ompt_event_task_create: 43*e4ac11beSHansang Bae // CHECK-SAME: new_task_id=[[TASK_ID2:[0-9]+]] 44*e4ac11beSHansang Bae // CHECK: {{^}}[[MASTER_ID]]: ompt_event_task_create: 45*e4ac11beSHansang Bae // CHECK-SAME: new_task_id=[[TASK_ID3:[0-9]+]] 46*e4ac11beSHansang Bae 47*e4ac11beSHansang Bae // CHECK-DAG: {{.*}}: ompt_event_taskloop_chunk_begin:{{.*}}task_id=[[TASK_ID0]]{{.*}}chunk_iterations=4 48*e4ac11beSHansang Bae // CHECK-DAG: {{.*}}: ompt_event_taskloop_chunk_begin:{{.*}}task_id=[[TASK_ID1]]{{.*}}chunk_iterations=4 49*e4ac11beSHansang Bae // CHECK-DAG: {{.*}}: ompt_event_taskloop_chunk_begin:{{.*}}task_id=[[TASK_ID2]]{{.*}}chunk_iterations=4 50*e4ac11beSHansang Bae // CHECK-DAG: {{.*}}: ompt_event_taskloop_chunk_begin:{{.*}}task_id=[[TASK_ID3]]{{.*}}chunk_iterations=4 51*e4ac11beSHansang Bae 52*e4ac11beSHansang Bae return 0; 53*e4ac11beSHansang Bae } 54