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

    <tr>
        <th>Summary</th>
        <td>
            [Offload][OpenMP] Record-Replay not functioning - failure to allocate memory 
        </td>
    </tr>

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

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

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

<pre>
    OpenMP offload recording is failing to allocate memory. It keeps requesting 0 bytes instead of the present `LIBOMPTARGET_RR_DEVMEM_SIZE`. 

For example when running 
`LIBOMPTARGET_DEBUG=1 LIBOMPTARGET_RR_DEVMEM_SIZE=4 LIBOMPTARGET_RR_SAVE_OUTPUT=1 OMP_TARGET_OFFLOAD=mandatory LIBOMPTARGET_NEXTGEN_PLUGINS=1 LIBOMPTARGET_RECORD=1 nvprof ./lulesh` the output shows - 

```
TARGET CUDA RTL --> The primary context is inactive, set its flags to CU_CTX_SCHED_BLOCKING_SYNC
PluginInterface --> Request 0 bytes allocated at (nil)
PluginInterface --> WARNING VA mapping failed, fallback to heuristic: (Error: Memory Map Size must be larger than 0)
TARGET CUDA RTL --> Failure to alloc memory: Error in cuMemAlloc[Host|Managed]: out of memory
PluginInterface --> Allocated 14581039104 bytes at 0x7f33ce000000 for replay.
PluginInterface --> Record Replay Initialized (0x7f33ce000000) as starting address, 14581039104 Memory Size and set on status Recording
TARGET CUDA RTL --> The primary context is inactive, set its flags to CU_CTX_SCHED_BLOCKING_SYNC
PluginInterface --> Request 0 bytes allocated at (nil)
PluginInterface --> WARNING VA mapping failed, fallback to heuristic: (Error: Memory Map Size must be larger than 0)
TARGET CUDA RTL --> Failure to alloc memory: Error in cuMemAlloc[Host|Managed]: out of memory
PluginInterface --> Allocated 14581039104 bytes at 0x7f305c000000 for replay.
PluginInterface --> Record Replay Initialized (0x7f305c000000) as starting address, 14581039104 Memory Size and set on status Recording
TARGET CUDA RTL --> The primary context is inactive, set its flags to CU_CTX_SCHED_BLOCKING_SYNC
PluginInterface --> Request 0 bytes allocated at (nil)
PluginInterface --> WARNING VA mapping failed, fallback to heuristic: (Error: Memory Map Size must be larger than 0)
TARGET CUDA RTL --> Failure to alloc memory: Error in cuMemAlloc[Host|Managed]: out of memory
PluginInterface --> Allocated 14581039104 bytes at 0x7f2cea000000 for replay.
PluginInterface --> Record Replay Initialized (0x7f2cea000000) as starting address, 14581039104 Memory Size and set on status Recording
TARGET CUDA RTL --> The primary context is inactive, set its flags to CU_CTX_SCHED_BLOCKING_SYNC
PluginInterface --> Request 0 bytes allocated at (nil)
PluginInterface --> WARNING VA mapping failed, fallback to heuristic: (Error: Memory Map Size must be larger than 0)
TARGET CUDA RTL --> Failure to alloc memory: Error in cuMemAlloc[Host|Managed]: out of memory
PluginInterface --> Allocated 14581039104 bytes at 0x7f2978000000 for replay.
PluginInterface --> Record Replay Initialized (0x7f2978000000) as starting address, 14581039104 Memory Size and set on status Recording
TARGET CUDA RTL --> The primary context is inactive, set its flags to CU_CTX_SCHED_BLOCKING_SYNC
PluginInterface --> Request 0 bytes allocated at (nil)
PluginInterface --> WARNING VA mapping failed, fallback to heuristic: (Error: Memory Map Size must be larger than 0)
TARGET CUDA RTL --> Failure to alloc memory: Error in cuMemAlloc[Host|Managed]: out of memory
PluginInterface --> Allocated 14581039104 bytes at 0x7f2606000000 for replay.
PluginInterface --> Record Replay Initialized (0x7f2606000000) as starting address, 14581039104 Memory Size and set on status Recording

```

as well as - 

```
omptarget --> Launching target execution __omp_offloading_821_1dc1092__ZL17CalcForceForNodesR6Domain_l1235 with pointer 0x0000555c717629f0 (index=1).
PluginInterface --> Launching kernel __omp_offloading_821_1dc1092__ZL17CalcForceForNodesR6Domain_l1235 with 931 blocks and 32 threads in SPMD mode
LLVM ERROR: Error retrieving data for target pointer
```

ending with only 1 out of 17 kernels being recorded 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsmF1v4jgXxz-NuTkqchIC5IILSqCDHt4EtM_s3EQmOSHeOnbWdtoyn37lkKEzuyO0I3VvViAUQmyfl__5OZIPM4YfJeKIhPckjDustoXSI1nWxrJnLjsHlZ1G6wrlcgMqz4ViGWhMlc64PAI3kDMu3K1VwIRQKbMIJZZKn7owt_CMWBnQ-EeNxrp5FA4niwa4NBZZBioHWyBUGg1KC6RPF_P79XKzH28fpvtku03i6dNyukx28y9T0qddIDQmdHy-zpQGfGNlJRBeC5Sgaymdm3bSX6zF0_vHBxLEHlxzEsS9v43vxk_TZP243zzum_Xr5SZpR9ez2WI9jkkQl0xmzCp9-nH5avp5_zBdJZvF48N8tfuJ_-lkvY2b5_Kl0iqHLvFnohZoCtKnjUCqtlVtwRTq1cDdDyKQPm2_zd-zUZg8xmPY7hdwd0eCKewbkXnJ9AlSJS2-WVc-Lllq-QsSfwIGLXBrIBfsaFxBJ4_JZP852U0-TePkfrGe_G--ekh2v60mZ08bUR-5nEuLOmcptp6252JfKv0NiwyYBeIPJRfEj65Z-P94u5qvHuBpDCWrKldPhxlmLsqcCXFg6bMLsMBac2N5SoKxMz3VWml3v2wIhCWrYMe_Ijie4YAgmD6iBlswCfQSxc8VmzEuao0XslusnfnGD3AJab3EcuxGSXj_SRlLBpMlk-yIGQljN1XV1jHerr2S9Pgik9cLhx4NIo_2vklogb4N8iBIkTYfyJUGjZVgp-71WritCttmJswlt5wJ_hUzp9aPJokfATNgLNPNRmVZptEYJ_n3AbXKNqoymTXQKOmW2dq0_rg83lD8j6NIw_SjUbyYvKF4Q_Gfo-inyD4YxXeTNxRvKP4CitFg-NEoXkzeULyh-Aso9mn_o1G8mPw3UPzpWeZ8ZQZeUQjn8urJR5WVdUWzbUYLVsu0aE6n58f4hmltuZKQJKqskvZEy-UxGfpe4mWpRyM_Sb4svMGEiXSmdIozpVcqQ7Ptx6pkXCbC84MQXrktoFLcqQj0zckShmE68AZ9P8qpE43LDN_csY740VXp3wN9Ri1RfFR4UeDBQaj02TT6Bz7YQiPL3F6G3WYZQ6kyPEe2WDwtYbrdrrfv1Gq0muOLCyxjljUktVK2mV-pGsqmR9AEoqQ4gfcNcG_Q5mnggG7OuaOAGXSyUZBFQcQ6OPIGjqUoCqJOMcr7YYBpH_uhj5FPe9RjNOiFg2iQDYeHFDt85FO_R0PqecNwGEbd_mHoZYecpkHoHQI_JD2KJeOiK8RL2VX62OHG1DiK6KDvdQQ7oDBNG8T3Jb5CM0h8n4RxR4_cmrtDfTSkRwU31rxbsdyKpn-yPlfL7eXw_twyIWHcYn7XbiupLOS1TB2ELvO75m31_avjvYECnVqLUWFtZUgwJv6M-LMjt0V96KaqJP7MxdD-3FVa_Y6pJf6sidwQf9Zk9mcAAAD__1-GsMM">