Unified Memory usable for TCP send

Hello,

I need to send data processed in the GPU out via TCP. For this I wanted to use Unified Memory to minimize the needed memory bandwidth. When sending data via TCP I get occasionally an Bad Address error back from the TCP send command. When replacing the Unified Memory with a normal new I do not run into any problems.
Is it possible and save to use Unified Memory in kernel calls like TCP send?
What is the way to go to debug memory overflows in Unified Memory?

Thank you,
Gerrit

Hi,
A possible cause can be that both CPU and GPU are accessing the buffer concurrently, triggering the issue. If it is not the case, we would need your help to share a test app so that we can replicate the issue and do further investigation. A simple app and steps so that we can follow the step to reproduce the issue.

As a quick solution, you may allocate host and device buffers and do synchronization manually.