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

    <tr>
        <th>Summary</th>
        <td>
            [Offload] Name-based kernel loading
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          e-kayrakli
      </td>
    </tr>
</table>

<pre>
    In implementing Chapel's GPU support, we have attempted to use libomptarget ([soon-to-be llvm/offload?](https://github.com/llvm/llvm-project/pull/75125)) in the past.

The main stumbling block was the expectation that the binary will contain a table of generated kernels. Our compiler currently doesn't do that, and our runtime rely on name based look up through the driver APIs such as `cuModuleGetFunction`/`hipModuleGetFunction`.

It'd be great if llvm/offload provide an interface for those functions.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUk81u2zoQhZ-G2gxsyJSpn4UWSQwHWdybLO59gJE4llhTJEEO7frtCykBihbddCMBHM7BzDkfMSUzOaJeqGehTgVmnn3saXfFR8SrNcXg9aN_c2CWYGkhx8ZN8DJjICtkk-D1439IOQQfWcgXuBPMeCNAZloCkwb2kBOBNYNfAmOciEHIVqjn5L3bsd8NBNbeFiHP_nKxHrWozkKdhGxn5pBE9STkWcjzZHjOw37069WvjvW3C9F_o5GFPIdsrZDnRh2kErITsgPjgGeCgIn3ojyJ8unz-99MsKBxkDgvg13XGqwfr3DHtHXQ90AjIxu_KiBvh4NxGB9wN9bC6B2vAgiMgyXwF5jIUcR17StFRzbt4T1HGP0SjKUIY46RHNsHaE_JCdkwaL_Jr-6h0-BzhJgdm4Ugkn2Ad-BwIRgwkQbr_RVyAJ6jz9O8DaWjuVGEp4-3BCmPM2ACUZdj_sfrbOmV-JzduC4i6nL1si5nE_5U_MWhNxay0TAQTJGQwVx-ywlC9DejCdCBcUzxgiPBxUfg2SeCy5dw2he6r3RXdVhQf2hKeWzr-tAWc48d6ZYkdW2n5VGPHVLdNWNX1YeuraUsTC9LWR3koTrUqlbtvm7k8ViVVanUsVbYimNJCxq7X2fb-zgVJqVMfaMqVRcWB7Jpw1tKR3fYikLKlfbYb_gMeUriWFqTOP1UYcN2exfvX1CqE_yLC-0-c_jMF9aKcVORo-3_mtZtlrTxWqn6RwAAAP__6g8uDQ">