/
pccc
/
pccc-mlir
Обзор
Документация
Войти
/
pccc
/
pccc-mlir
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
offload/test/offloading/target_critical_region.cpp
36 строк
800 B
obitotsky
fork mlir
19 июл 2026, 07:05
Верифицирован
19 июл 2026, 07:05
6422b87
Код
Авторство
О чём код?
// RUN: %libomptarget-compilexx-run-and-check-generic // REQUIRES: gpu // UNSUPPORTED: nvptx64-nvidia-cuda // UNSUPPORTED: nvptx64-nvidia-cuda-LTO // UNSUPPORTED: amdgcn-amd-amdhsa #include <omp.h> #include <stdio.h> #define N 1000000 int A[N]; int main() { for (int i = 0; i < N; i++) A[i] = 1; int sum[1]; sum[0] = 0; #pragma omp target teams distribute parallel for num_teams(256) \ schedule(static, 1) map(to \ : A[:N]) map(tofrom \ : sum[:1]) { for (int i = 0; i < N; i++) { #pragma omp critical { sum[0] += A[i]; } } } // CHECK: SUM = 1000000 printf("SUM = %d\n", sum[0]); return 0; }