41 lines · c
1// clang-format off2// RUN: %libomptarget-compile-generic3// RUN: env LIBOMPTARGET_INFO=16 \4// RUN: %libomptarget-run-generic 2>&1 | %fcheck-generic --check-prefix=DEFAULT5// RUN: env LIBOMPTARGET_INFO=16 LIBOMPTARGET_MIN_THREADS_FOR_LOW_TRIP_COUNT=8 \6// RUN: %libomptarget-run-generic 2>&1 | %fcheck-generic --check-prefix=EIGHT7 8// REQUIRES: gpu9 10#define N 12811 12__attribute__((optnone)) void optnone() {}13 14int main() {15 // DEFAULT: Launching kernel {{.+_main_.+}} with [4,1,1] blocks and [32,1,1] threads in SPMD mode16 // EIGHT: Launching kernel {{.+_main_.+}} with [16,1,1] blocks and [8,1,1] threads in SPMD mode17#pragma omp target teams distribute parallel for simd18 for (int i = 0; i < N; ++i) {19 optnone();20 }21 // DEFAULT: Launching kernel {{.+_main_.+}} with [4,1,1] blocks and [32,1,1] threads in SPMD mode22 // EIGHT: Launching kernel {{.+_main_.+}} with [16,1,1] blocks and [8,1,1] threads in SPMD mode23#pragma omp target teams distribute parallel for simd24 for (int i = 0; i < N - 1; ++i) {25 optnone();26 }27 // DEFAULT: Launching kernel {{.+_main_.+}} with [5,1,1] blocks and [32,1,1] threads in SPMD mode28 // EIGHT: Launching kernel {{.+_main_.+}} with [17,1,1] blocks and [8,1,1] threads in SPMD mode29#pragma omp target teams distribute parallel for simd30 for (int i = 0; i < N + 1; ++i) {31 optnone();32 }33 // DEFAULT: Launching kernel {{.+_main_.+}} with [32,1,1] blocks and [4,1,1] threads in SPMD mode34 // EIGHT: Launching kernel {{.+_main_.+}} with [32,1,1] blocks and [4,1,1] threads in SPMD mode35#pragma omp target teams distribute parallel for simd thread_limit(4)36 for (int i = 0; i < N; ++i) {37 optnone();38 }39}40 41