Одноранговый доступ CUDA - устройство против контекста
В API драйвера CUDA у нас есть cuCtxEnablePeerAccess()
а также cuCtxDisablePeerAccess()
; а в API времени выполнения у нас естьcudaDeviceEnablePeerAccess()
а также cudaDeviceDisblePeerAccess()
.
Предположим, у нас есть устройства D_1 и D_2 с первичными контекстами PC_1 и PC_2 и неосновными контекстами NPC_1 и NPC_2 на двух устройствах соответственно. Теперь предположим, что мы делаем следующее:
cuCtxEnablePeerAccess()
от NPC_1 к NPC_2- Сделайте PC_1 текущим на D_1 и ПК_2 текущим на D_2
cudaDeviceDisablePeerAccess()
от D_1 до D_2- Сделайте NPC_1 текущим на D_1 и NPC_2 на D_2
Будет ли одноранговый доступ между NPC_1 и NPC_2 включен или отключен?
Примечание. Конечно, предполагается, что устройства физически способны к одноранговому доступу.