1330d8983SJohannes Doerfert // clang-format off 2330d8983SJohannes Doerfert // RUN: %libomptarget-compile-generic 3330d8983SJohannes Doerfert // RUN: env LIBOMPTARGET_INFO=16 \ 4330d8983SJohannes Doerfert // RUN: %libomptarget-run-generic 2>&1 | %fcheck-generic --check-prefix=DEFAULT 5330d8983SJohannes Doerfert 6330d8983SJohannes Doerfert // UNSUPPORTED: nvptx64-nvidia-cuda 7330d8983SJohannes Doerfert // UNSUPPORTED: nvptx64-nvidia-cuda-LTO 8*88234488SEthan Luis McDonough // REQUIRES: gpu 9330d8983SJohannes Doerfert main()10330d8983SJohannes Doerfertint main() { 11330d8983SJohannes Doerfert int n = 1 << 20; 12330d8983SJohannes Doerfert int th = 12; 13330d8983SJohannes Doerfert int te = n / th; 14330d8983SJohannes Doerfert // DEFAULT: 12 (MaxFlatWorkGroupSize: 15330d8983SJohannes Doerfert #pragma omp target 16330d8983SJohannes Doerfert #pragma omp teams loop num_teams(te), thread_limit(th) 17330d8983SJohannes Doerfert for (int i = 0; i < n; i++) { 18330d8983SJohannes Doerfert } 19330d8983SJohannes Doerfert 20330d8983SJohannes Doerfert // DEFAULT: 13 (MaxFlatWorkGroupSize: 21330d8983SJohannes Doerfert #pragma omp target 22330d8983SJohannes Doerfert #pragma omp teams distribute parallel for simd num_teams(te), thread_limit(th+1) simdlen(64) 23330d8983SJohannes Doerfert for(int i = 0; i < n; i++) { 24330d8983SJohannes Doerfert } 25330d8983SJohannes Doerfert return 0; 26330d8983SJohannes Doerfert } 27