ゼロコピーが正確にどのように機能するかについて、少し混乱しています。
1- 以下がopenclのゼロコピーに対応していることを確認したい。
.......................
. . .
. . .
. . CPU .
. SYSTEM . .
. RAM . c3 X .
. <=====> .
...|...................
PCI-E / /
| / /
c2 |X /PCI-E, CPU directly accessing GPU memory
| / / copy c3, c2 is avoided, indicated by X.
...|...././................
. MEMORY<====> .
. OBJECT .c1 .
. . GPU .
. GPU RAM . .
. . .
...........................
.......................
. . .
. . .
. . CPU .
.SYSTEM RAM . .
. . .
. . c3 .
. MEMORY<====> .
...| OBJECT............
| \ \
PCI-E \ \PCI-E, GPU directly accessing System memory. copy c2, c1 is avoided
| \ \
C2 |X \ \
...|.........\..\...........
. | . .
. <=======> .
. GPU c1 X GPU .
. RAM . .
. . .
............................
GPU/CPU は、明示的なコピーなしで、システム/GPU-RAM に直接アクセスしています。
2-これを持つことの利点は何ですか? PCI-e は依然として帯域幅全体を制限しています。または、上記の状況で c2 と c1/c3 のコピーを回避できることが唯一の利点ですか?