You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[OMPD] The LLVM OMPD ompd_get_task_function() entry_point address return value for NVIDIA GPUs does not seem to correspond to a valid code address on the GPU
#68
Open
jdelsign opened this issue
Feb 27, 2019
· 1 comment
The LLVM OMPD ompd_get_task_function() entry_point address return value for NVIDIA GPUs does not seem to correspond to a valid code address on the GPU.
The TotalView OMPD support is instrumented to print out the calls it makes to the OMPD library. Here are some of the calls made when trying to fetch the task function for a GPU thread that has stopped in OMP code on the GPU:
The problem is that the result code indicates success, but the entry_point address does not correspond to any program section in the CUDA ELF images. TotalView prints the following error message:
ERROR: Address 0x7f8034963a80 isn't mapped in address_space 200500.-1
Which means that it searched its address section table for an address range containing the address, and it did not find one. The address does exist in the GPU address space because I can dereference it as an address in the global segment:
d1.<> f t1.-1 p {*(int @global *)0x7f8034963a80}
*(int @global *)0x7f8034963a80 = 0xfffff389 (-3191)
d1.<> f t1.-1 p {*(long @global *)0x7f8034963a80}
*(long @global *)0x7f8034963a80 = 0x000000fffffff389 (1099511624585)
d1.<>
I'm guessing that that's some sort of heap memory on the GPU, but I don't really know.
The text was updated successfully, but these errors were encountered:
The comparison in label 12 suggests, that the address in %13 should be the address of __omp_outlined___wrapper. This is the address presented by the ompd_get_task_function()
The LLVM OMPD ompd_get_task_function() entry_point address return value for NVIDIA GPUs does not seem to correspond to a valid code address on the GPU.
The TotalView OMPD support is instrumented to print out the calls it makes to the OMPD library. Here are some of the calls made when trying to fetch the task function for a GPU thread that has stopped in OMP code on the GPU:
The problem is that the result code indicates success, but the entry_point address does not correspond to any program section in the CUDA ELF images. TotalView prints the following error message:
Which means that it searched its address section table for an address range containing the address, and it did not find one. The address does exist in the GPU address space because I can dereference it as an address in the global segment:
I'm guessing that that's some sort of heap memory on the GPU, but I don't really know.
The text was updated successfully, but these errors were encountered: