cuda.bindings._v2.driver.flush_gpu_direct_rdma_writes#
- cuda.bindings._v2.driver.flush_gpu_direct_rdma_writes(int target, int scope)#
Blocks until remote writes are visible to the specified scope.
Blocks until GPUDirect RDMA writes to the target context via mappings created through APIs like nvidia_p2p_get_pages (see https://docs.nvidia.com/cuda/gpudirect-rdma for more information), are visible to the specified scope. If the scope equals or lies within the scope indicated by
CU_DEVICE_ATTRIBUTE_GPU_DIRECT_RDMA_WRITES_ORDERING, the call will be a no- op and can be safely omitted for performance. This can be determined by comparing the numerical values between the two enums, with smaller scopes having smaller values. On platforms that support GPUDirect RDMA writes via more than one path in hardware (seeCU_MEM_RANGE_FLAG_DMA_BUF_MAPPING_TYPE_PCIE), the user should consider those paths as belonging to separate ordering domains. Note that in such cases CUDA driver will report both RDMA writes ordering and RDMA write scope as ALL_DEVICES and a call to cuFlushGPUDirectRDMA will be a no-op, but when these multiple paths are used simultaneously, it is the user’s responsibility to ensure ordering by using mechanisms outside the scope of CUDA. Users may query support for this API viaCU_DEVICE_ATTRIBUTE_FLUSH_FLUSH_GPU_DIRECT_RDMA_OPTIONS.- Parameters:
target (FlushGPUDirectRDMAWritesTarget) – The target of the operation, see
CUflushGPUDirectRDMAWritesTarget.scope (FlushGPUDirectRDMAWritesScope) – The scope of the operation, see
CUflushGPUDirectRDMAWritesScope.
See also
cuFlushGPUDirectRDMAWrites