Thyre wrote:

> What does this call into? I figured we'd have some top level runtime function 
> for doing memsets on the device that lowered to SDMA or similar.

As JP mentioned, these are callbacks for the OpenMP Tools Interface, so that an 
attached tools is informed about the `memset` event.

I have a test implementation in Score-P, yielding the following result with 
this PR:

```
Reading scorep-20260526_1420_1318469337716492/profile.cubex... done.
a.out
  + main
  |   + !$omp target data op @program.c:9
  |   + !$omp target alloc @program.c:9
  |   + !$omp target memset @program.c:11
  |   |   + !$omp target data op @program.c:11
  |   + !$omp target @program.c:13
  |   |   + !$omp target submit @program.c:13
  |   + !$omp target free @program.c:21
```

`!$omp target memset @program.c:11` is the added event here, all others are 
already provided.
The enum value was introduced in OpenMP v6.0.

I feel like the TODO in `offload/libomptarget/OpenMP/API.cpp` just below my 
changes could be resolved by now, but I think that's better suited for a 
separate PR.

https://github.com/llvm/llvm-project/pull/194168
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to