cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

cjb80
Journeyman III

PCIe Questions

Based on my cursory research, it seems that it's reasonable to expect ~5.5 GB/s of real or so through PCIe 2.0 x16. Are these kinds of speeds full-duplex?  In other words, can I transfer 5.5GB/s on and off the device at once? (if so, is this supported?)

Additionally, if I have multiple devices is this throughput somehow reduced or divided between each device?

It looks like PCIe is a point-to-point architecture, so I would assume that each connection is independent.  Are the 'bus master' devices (DMA?) somehow limited on total peak throughput?

Thanks

Chris

0 Likes
3 Replies
himanshu_gautam
Grandmaster

Please refer to the section 4.4 & 4.5 of the OpenCL programming Guide for the bandwidths acheivable in various cases and using different types of memory.

For pinned host memory case you get Read 5.5 and Write 3.7 on the device configuration mentioned in document.

 

0 Likes

Is this concurrent bandwidth though? Meaning can I do 5.7 and 3.7 at the same time?

0 Likes

AFAIK on 5xxx cards there is one DMA engine so you can only upload or download data. but on some (or all?) 6xxx cards there is two DMA engines so you can get theroetical up/down data at the same time. but don't know if OpenCL runtime can utilize such dual DMA. at least you need three command queues. one for execution, second for uploading data and third for downloading data.

then you maybe get concurent transfers.

0 Likes