/
pccc
/
pccc-mlir
Обзор
Документация
Войти
/
pccc
/
pccc-mlir
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
offload/test/mapping/declare_mapper_target_data_enter_exit.cpp
34 строки
661 B
obitotsky
fork mlir
19 июл 2026, 07:05
Верифицирован
19 июл 2026, 07:05
6422b87
Код
Авторство
О чём код?
// RUN: %libomptarget-compile-run-and-check-generic #include <cstdio> #include <cstdlib> #define NUM 1024 class C { public: int *a; }; #pragma omp declare mapper(id : C s) map(s.a[0 : NUM]) int main() { C c; c.a = (int *)malloc(sizeof(int) * NUM); for (int i = 0; i < NUM; i++) { c.a[i] = 1; } #pragma omp target enter data map(mapper(id), to : c) #pragma omp target teams distribute parallel for for (int i = 0; i < NUM; i++) { ++c.a[i]; } #pragma omp target exit data map(mapper(id), from : c) int sum = 0; for (int i = 0; i < NUM; i++) { sum += c.a[i]; } // CHECK: Sum = 2048 printf("Sum = %d\n", sum); return 0; }