15 Replies Latest reply on Feb 5, 2011 12:38 PM by Ignus

    Pinned memory

    uwebaw
      Does AMD's OpenCL implementation support pinned memory?

      Hi,

      I'm doing some PCIe memory bandwidth benchmarks with and without the use of pinned memory on the new Radeon HD 6950 and for comparison on ne NVIDIA GTX 280.

      The GTX 280 has an bandwidth without pinned memory of about 2,7 GB/sec and with pinned memory about 5,4 GB/sec. So pinned memory really boost the transferrate.

      But with the Radeon the transferrate is about 3,8 GB/sec which isn't bad at all, but I'm wondering if the AMD OpenCL implementation really support pinned memory. Or do I have to enable it?

        • Pinned memory
          nou

          i just installed catalyst 11.1 and i got improvment in data transfers.

          with 10.12 i got around 3-3.5GB/s now with 11.1

          Host to device : 4.56834 GB/s
          Device to host : 5.80778 GB/s

            • Pinned memory
              Tasp

              10.12 on Windows 64bit:

              copy buffer to image:

              13.38 GB/s

              download buffer:

              2.867 GB/s

              download image:

              0.604 GB/2

              upload buffer:

              1.548 GB/s

              upload image:

              0.566 GB/s

              I do this operations each a 100 times with a single image of 3168 * 4752 * 4 (float). The above numbers are the average.

              How do you measure the bandwidth? With the provided sample program? I get:

               

              Host to device : 1.86789 GB/s

              Device to host : 3.17355 GB/s

                • Pinned memory
                  nou

                  what GPU do you have. i have redeon 5850 on Linux. and 4xxx card do not have enabled DMA.

                  yes a measure it with sample program.

                    • Pinned memory
                      Tasp

                      I have a 5850 too

                       

                      *edit*

                      I will try it on linux too, is there anything special you have to do to enable it?

                      • Pinned memory
                        fred_em

                         

                        Originally posted by: nou what GPU do you have. i have redeon 5850 on Linux. and 4xxx card do not have enabled DMA.

                         

                        yes a measure it with sample program.

                         

                        Do you really mean Radeon HD 4xxx do not support DMA (and consequently, asynchronous transfers, PBOs and so on...)?

                        Just on Linux, or on Windows as well?

                         

                        • Pinned memory
                          Ignus

                           

                          Originally posted by: nou and 4xxx card do not have enabled DMA.

                           

                           

                          I'm also very curious about this. How do you know that? Why is it disabled in the HD 4xxx series? Where is it written, that it is disabled?

                          --

                          Greets,

                          I.

                          P.S.:

                          I ask, because I have extremely low transfer rates on a HD 4870 card (around 0.4 GB/sec), and I tried all possible kinds of transfer (writebuffer, mapbuffer, mem_alloc_host_ptr, etc.).

                           

                            • Pinned memory
                              nou

                              i say that DMA is not enabled beacause they write that DMA is enabled for 5xxx-6xxx cards. and that it is horribly slow. maybe it is not accurate or incorect but that is my impression. it is like you have PIO mode on HDD

                                • Pinned memory
                                  Ignus

                                  So there is no chance of getting better transfer performance on HD 4xxx cards in OpenCL?

                                  Because 0.4-0.6 GB/sec is just really slow. That makes the whole thing useless, as the transfer takes away all the time.

                                  --

                                  Greets,

                                  I.