3 Replies Latest reply on Apr 8, 2011 10:59 AM by nou

    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?



        • PCIe Questions

          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.


            • PCIe Questions

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

                • PCIe Questions

                  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.