使用CUDA驱动程序API调用cuStreamWaitValue32()
执行等待值操作时,可以指定标志CU_STREAM_WAIT_VALUE_FLUSH
。以下是文档中所说的:
在等待操作之后刷新未完成的远程写入。这意味着,如果保证远程写入操作已到达在等待可以满足之前的设备,该写入保证下游设备工作可见。
我的问题是:什么算";远程写入";在这种情况下?它是否只调用cuStreamWriteValue32()
/cuStreamWriteValue64()
?这是涉及不同设备或主机的任何类型的写入吗?包括cudaMemcpy()
和朋友?
远程写入是由第三方设备针对GPU设备内存发出的写入。这与GPUDirect RDMA有关。通过扩展,这还包括CPU通过GDRCopy映射发出的写入。