32 lines
1.1 KiB
C
32 lines
1.1 KiB
C
// RUN: %libomptarget-compile-generic && env LIBOMPTARGET_DEBUG=1 %libomptarget-run-generic 2>&1 | %fcheck-generic -allow-empty -check-prefix=DEBUG
|
|
// REQUIRES: libomptarget-debug
|
|
|
|
/*
|
|
Test for looptripcount being popped from runtime stack.
|
|
*/
|
|
#include <omp.h>
|
|
#include <stdio.h>
|
|
int main() {
|
|
int N = 128;
|
|
int NN = 1024;
|
|
int num_teams[NN];
|
|
int num_threads[NN];
|
|
|
|
printf("#pragma omp target teams distribute parallel for thread_limit(4)\n");
|
|
#pragma omp target teams distribute parallel for thread_limit(4)
|
|
for (int j = 0; j < N; j++) {
|
|
num_threads[j] = omp_get_num_threads();
|
|
num_teams[j] = omp_get_num_teams();
|
|
}
|
|
printf("num_threads %d num_teams %d\n", num_threads[0], num_teams[0]);
|
|
// DEBUG: loop trip count is 128
|
|
printf("#pragma omp target teams distribute parallel for\n");
|
|
#pragma omp target teams distribute parallel for
|
|
for (int j = 0; j < N; j++) {
|
|
num_threads[j] = omp_get_num_threads();
|
|
num_teams[j] = omp_get_num_teams();
|
|
}
|
|
printf("num_threads %d num_teams %d\n", num_threads[0], num_teams[0]);
|
|
// DEBUG: loop trip count is 128
|
|
return 0;
|
|
}
|