<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/59946>59946</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [OpenMP] Device runtime is missing task related functions
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            openmp
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          jdoerfert
      </td>
    </tr>
</table>

<pre>
    On the device, via the device runtime, we are missing, at least,
```
declare void @__kmpc_taskgroup(ptr, i32)
declare void @__kmpc_end_taskgroup(ptr, i32)
declare ptr @__kmpc_omp_task_alloc(ptr, i32, i32, i64, i64, ptr)
declare void @__kmpc_taskloop(ptr, i32, ptr, i32, ptr, ptr, i64, i32, i32, i64, ptr)
```
Alternatively, we can change the clang codegen to avoid these.

See also: https://github.com/SOLLVE/sollve_vv/blob/master/tests/5.0/parallel_master/test_parallel_master_device.c
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMk99qpTAQxp9mvAkVHf-ceuHF2Z71qksXCnsrMRk1bUwkiS59-0XX0tPDUhbEIZP8Zj4m-bj3ajBENRTfoLhEfAmjdfWLtOR6ciHqrHyrnwwLIzFJqxIE-MBWxa8yzC0mqGnf-U2MO2KT8l6ZYcvwwDRxHwAfILlAcoYyOb59KUnoDVmtkgzypG1fp1m0gfvXwdllBryfg9sqqQwBqy8pMvJ_yTm4K9BO8w62XGsrbsiPUOZXYT_ytZ6tpLb2VsrB3q7ek0eXf7W-7nkzyLMO5AwPaiX9dtyF4IaJkZuB9vsSmpuBCStpIMOCZXzXG0byFB9F9_8zEePaW8jObAxh9pCdARvAZlBhXLpY2AmweX56fPz1HbDxVuuV2nUFbDptO8Bm4j6QA2wC-eABmyJOAJuZO6416fbTfnuTbv--rFhEss5klVU8ojotT1leZnlWRGMtZNWjINH3p07KeyEQ8zzH7pTIvqxkF6kaE8ySNE3T--KUFnFFJ1EWosAs7RMsE8gTmrjSsdbrFFs3RMr7heqiqvIy0rwj7XdfINqZzDQD4uYRV2_AXbcMHvJEKx_8R4mggt7d9DST-fETigu7fDIJU_7dHWx7HcyR5oEk6xcjgrLGR4vT9RdD33od4W529oVEAGx27fuYN_l_AgAA___QPDdP">