NVIDIA предлагает GPUDirect, чтобы уменьшить накладные расходы на передачу данных. Мне интересно, есть ли аналогичная концепция для AMD/ATI? В частности:
1) Графические процессоры AMD избегают второй передачи памяти при взаимодействии с сетевыми картами, как описано здесь. В случае потери графика в какой-то момент здесь приводится описание воздействия GPUDirect на получение данных с GPU на одной машине, которая будет передаваться по сетевому интерфейсу: с GPUDirect память GPU переходит в память хоста, а затем прямо в сеть интерфейсная карта. Без GPUDirect память GPU переходит в память хоста в одном адресном пространстве, тогда CPU должен сделать копию, чтобы получить память в другое адресное пространство адресной памяти хоста, а затем она может выйти на сетевую карту.
2) Графические процессоры AMD позволяют передавать P2P-память, когда два GPU совместно используются на одной шине PCIe, как описано здесь. В случае потери графика в какой-то момент здесь описывается влияние GPUDirect на передачу данных между графическими процессорами на одной и той же шине PCIe: с помощью GPUDirect данные могут перемещаться напрямую между графическими процессорами на одной шине PCIe, не касаясь памяти хоста. Без GPUDirect данные всегда должны возвращаться к хосту, прежде чем он сможет перейти на другой графический процессор, независимо от того, где находится этот графический процессор.
Edit: BTW, я не совсем уверен, сколько GPUDirect - это утилита для паролей, и насколько это действительно полезно. Я никогда не слышал о том, как программист GPU использует его для чего-то реального. Мысли об этом тоже приветствуются.