/
pccc
/
pccc-mlir
Обзор
Документация
Войти
/
pccc
/
pccc-mlir
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
offload/test/api/omp_device_memory.c
35 строк
902 B
obitotsky
fork mlir
19 июл 2026, 07:05
Верифицирован
19 июл 2026, 07:05
6422b87
Код
Авторство
О чём код?
// RUN: %libomptarget-compile-run-and-check-generic // https://github.com/llvm/llvm-project/issues/182119 // UNSUPPORTED: intelgpu #include <omp.h> #include <stdio.h> #include <assert.h> int main() { const int N = 64; int *device_ptr = omp_alloc(N * sizeof(int), llvm_omp_target_device_mem_alloc); #pragma omp target teams distribute parallel for is_device_ptr(device_ptr) for (int i = 0; i < N; ++i) { device_ptr[i] = 1; } int sum = 0; #pragma omp target parallel for reduction(+ : sum) is_device_ptr(device_ptr) for (int i = 0; i < N; ++i) sum += device_ptr[i]; // CHECK: PASS if (sum == N) printf("PASS\n"); omp_free(device_ptr, llvm_omp_target_device_mem_alloc); // Make sure this interface works. void *ptr = omp_alloc(0, llvm_omp_target_device_mem_alloc); assert(!ptr && "Ptr not (nullptr)"); omp_free(ptr, llvm_omp_target_device_mem_alloc); }