[llvm] [Offload][OMPT][NFC] Add test for `host_op_id` consistency (PR #201144)
Jan André Reuter via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 5 04:11:40 PDT 2026
================
@@ -0,0 +1,99 @@
+// clang-format off
+// RUN: %libomptarget-compile-run-and-check-generic
+// REQUIRES: ompt
+// REQUIRES: gpu
+// clang-format on
+
+/*
+ * Example OpenMP program that checks if EMI callbacks
+ * correctly pass host_op_id between ompt_scope_begin and ompt_scope_end
+ */
+
+#include <assert.h>
+#include <omp.h>
+#include <stdio.h>
+
+#include "callbacks.h"
+#include "register_emi.h"
+
+int main(void) {
+ int NumDevices = omp_get_num_devices();
+ assert(NumDevices > 0 && "No device(s) present.");
+ int Device = omp_get_default_device();
+ int Host = omp_get_initial_device();
+ // Note: Zero value depicts an OFFLOAD_SUCCESS
+ int Status;
+
+ printf("Allocating Memory on Device\n");
+ int *DevPtr = (int *)omp_target_alloc(sizeof(int), Device);
+ assert(DevPtr && "Could not allocate memory on device.");
+ int *HstPtr = (int *)malloc(sizeof(int));
+ *HstPtr = 42;
+
+ printf("Testing: Host to Device\n");
+ Status = omp_target_memcpy(DevPtr, HstPtr, sizeof(int), 0, 0, Device, Host);
+ assert(Status == 0 && "H2D memory copy operation failed.\n");
+
+ printf("Testing: Device to Device\n");
+ Status = omp_target_memcpy(DevPtr, DevPtr, sizeof(int), 0, 0, Device, Device);
----------------
Thyre wrote:
Added in bfa6f51806345d3f1d3226494821a101c51b935c
https://github.com/llvm/llvm-project/pull/201144
More information about the llvm-commits
mailing list