Skip to content

Commit 76899b8

Browse files
committedFeb 17, 2018
[OMPT] Update api_calls testcase
Only use ompt_ functions when testing OMPT in api_calls testcase. Add size parameter to print_list. Fix small bug in implementation of ompt_get_partition_place_nums(): return correct length. Differential Revision: https://reviews.llvm.org/D42162 llvm-svn: 325422
1 parent 48abac8 commit 76899b8

File tree

2 files changed

+50
-34
lines changed

2 files changed

+50
-34
lines changed
 

‎openmp/runtime/src/ompt-general.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@ OMPT_API_ROUTINE int ompt_get_partition_place_nums(int place_nums_size,
606606
for (i = 0, place_num = start; place_num <= end; ++place_num, ++i) {
607607
place_nums[i] = place_num;
608608
}
609-
return end - start;
609+
return end - start + 1;
610610
#endif
611611
}
612612

‎openmp/runtime/test/ompt/misc/api_calls.c

+49-33
Original file line numberDiff line numberDiff line change
@@ -6,67 +6,83 @@
66
#include <sched.h>
77
#undef __USE_GNU
88

9-
void print_list(char* function_name, int list[])
10-
{
11-
printf("%" PRIu64 ": %s(0)=(%d", ompt_get_thread_data()->value, function_name, list[0]);
9+
void print_list(char *function_name, int size, int list[]) {
10+
printf("%" PRIu64 ": %s(0)=(%d", ompt_get_thread_data()->value, function_name,
11+
list[0]);
1212
int i;
13-
for(i = 1; i < omp_get_place_num_procs(0); i++)
14-
{
13+
for (i = 1; i < size; i++) {
1514
printf(",%d", list[i]);
1615
}
1716
printf(")\n");
1817
}
1918

20-
int main()
21-
{
22-
#pragma omp parallel num_threads(1)
19+
int main() {
20+
#pragma omp parallel num_threads(1)
2321
{
24-
printf("%" PRIu64 ": omp_get_num_places()=%d\n", ompt_get_thread_data()->value, omp_get_num_places());
25-
printf("%" PRIu64 ": ompt_get_num_places()=%d\n", ompt_get_thread_data()->value, ompt_get_num_places());
22+
printf("%" PRIu64 ": omp_get_num_places()=%d\n",
23+
ompt_get_thread_data()->value, omp_get_num_places());
24+
printf("%" PRIu64 ": ompt_get_num_places()=%d\n",
25+
ompt_get_thread_data()->value, ompt_get_num_places());
2626

27-
int omp_ids[omp_get_place_num_procs(0)];
27+
int omp_ids_size = omp_get_place_num_procs(0);
28+
int omp_ids[omp_ids_size];
2829
omp_get_place_proc_ids(0, omp_ids);
29-
print_list("omp_get_place_proc_ids" ,omp_ids);
30-
int ompt_ids[omp_get_place_num_procs(0)];
31-
ompt_get_place_proc_ids(0, omp_get_place_num_procs(0), ompt_ids);
32-
print_list("ompt_get_place_proc_ids", ompt_ids);
33-
34-
printf("%" PRIu64 ": omp_get_place_num()=%d\n", ompt_get_thread_data()->value, omp_get_place_num());
35-
printf("%" PRIu64 ": ompt_get_place_num()=%d\n", ompt_get_thread_data()->value, ompt_get_place_num());
36-
37-
int omp_nums[omp_get_partition_num_places()];
30+
print_list("omp_get_place_proc_ids", omp_ids_size, omp_ids);
31+
int ompt_ids_size = ompt_get_place_proc_ids(0, 0, NULL);
32+
int ompt_ids[ompt_ids_size];
33+
ompt_get_place_proc_ids(0, ompt_ids_size, ompt_ids);
34+
print_list("ompt_get_place_proc_ids", ompt_ids_size, ompt_ids);
35+
36+
printf("%" PRIu64 ": omp_get_place_num()=%d\n",
37+
ompt_get_thread_data()->value, omp_get_place_num());
38+
printf("%" PRIu64 ": ompt_get_place_num()=%d\n",
39+
ompt_get_thread_data()->value, ompt_get_place_num());
40+
41+
int omp_nums_size = omp_get_partition_num_places();
42+
int omp_nums[omp_nums_size];
3843
omp_get_partition_place_nums(omp_nums);
39-
print_list("omp_get_partition_place_nums" ,omp_nums);
40-
int ompt_nums[omp_get_partition_num_places()];
41-
ompt_get_partition_place_nums(omp_get_partition_num_places(), ompt_nums);
42-
print_list("ompt_get_partition_place_nums", ompt_nums);
43-
44-
printf("%" PRIu64 ": sched_getcpu()=%d\n", ompt_get_thread_data()->value, sched_getcpu());
45-
printf("%" PRIu64 ": ompt_get_proc_id()=%d\n", ompt_get_thread_data()->value, ompt_get_proc_id());
46-
47-
printf("%" PRIu64 ": omp_get_num_procs()=%d\n", ompt_get_thread_data()->value, omp_get_num_procs());
48-
printf("%" PRIu64 ": ompt_get_num_procs()=%d\n", ompt_get_thread_data()->value, ompt_get_num_procs());
44+
print_list("omp_get_partition_place_nums", omp_nums_size, omp_nums);
45+
int ompt_nums_size = ompt_get_partition_place_nums(0, NULL);
46+
int ompt_nums[ompt_nums_size];
47+
ompt_get_partition_place_nums(ompt_nums_size, ompt_nums);
48+
print_list("ompt_get_partition_place_nums", ompt_nums_size, ompt_nums);
49+
50+
printf("%" PRIu64 ": sched_getcpu()=%d\n", ompt_get_thread_data()->value,
51+
sched_getcpu());
52+
printf("%" PRIu64 ": ompt_get_proc_id()=%d\n",
53+
ompt_get_thread_data()->value, ompt_get_proc_id());
54+
55+
printf("%" PRIu64 ": omp_get_num_procs()=%d\n",
56+
ompt_get_thread_data()->value, omp_get_num_procs());
57+
printf("%" PRIu64 ": ompt_get_num_procs()=%d\n",
58+
ompt_get_thread_data()->value, ompt_get_num_procs());
4959
}
5060

5161
// Check if libomp supports the callbacks for this test.
5262

5363
// CHECK: 0: NULL_POINTER=[[NULL:.*$]]
5464

55-
// CHECK: {{^}}[[MASTER_ID:[0-9]+]]: omp_get_num_places()=[[NUM_PLACES:[0-9]+]]
65+
// CHECK: {{^}}[[MASTER_ID:[0-9]+]]: omp_get_num_places
66+
// CHECK-SAME: ()=[[NUM_PLACES:[0-9]+]]
5667
// CHECK: {{^}}[[MASTER_ID]]: ompt_get_num_places()=[[NUM_PLACES]]
5768

58-
// CHECK: {{^}}[[MASTER_ID]]: omp_get_place_proc_ids(0)=([[PROC_IDS:[0-9\,]+]])
69+
// CHECK: {{^}}[[MASTER_ID]]: omp_get_place_proc_ids
70+
// CHECK-SAME: (0)=([[PROC_IDS:[0-9\,]+]])
5971
// CHECK: {{^}}[[MASTER_ID]]: ompt_get_place_proc_ids(0)=([[PROC_IDS]])
6072

6173
// CHECK: {{^}}[[MASTER_ID]]: omp_get_place_num()=[[PLACE_NUM:[-]?[0-9]+]]
6274
// CHECK: {{^}}[[MASTER_ID]]: ompt_get_place_num()=[[PLACE_NUM]]
6375

76+
// CHECK: {{^}}[[MASTER_ID]]: omp_get_partition_place_nums
77+
// CHECK-SAME: (0)=([[PARTITION_PLACE_NUMS:[0-9\,]+]])
78+
// CHECK: {{^}}[[MASTER_ID]]: ompt_get_partition_place_nums
79+
// CHECK-SAME: (0)=([[PARTITION_PLACE_NUMS]])
80+
6481
// CHECK: {{^}}[[MASTER_ID]]: sched_getcpu()=[[CPU_ID:[0-9]+]]
6582
// CHECK: {{^}}[[MASTER_ID]]: ompt_get_proc_id()=[[CPU_ID]]
6683

6784
// CHECK: {{^}}[[MASTER_ID]]: omp_get_num_procs()=[[NUM_PROCS:[-]?[0-9]+]]
6885
// CHECK: {{^}}[[MASTER_ID]]: ompt_get_num_procs()=[[NUM_PROCS]]
6986

70-
7187
return 0;
7288
}

0 commit comments

Comments
 (0)