cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

uwebaw
Journeyman III

Pinned memory

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?

Tags (1)
0 Likes
15 Replies
nou
Exemplar

Pinned memory

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

0 Likes
Tasp
Journeyman III

Pinned memory

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

0 Likes
nou
Exemplar

Pinned memory

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.

0 Likes
Tasp
Journeyman III

Pinned memory

I have a 5850 too

 

*edit*

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

0 Likes
fred_em
Journeyman III

Pinned memory

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?

 

0 Likes
himanshu_gautam
Grandmaster

Pinned memory

DRMDMA is enabled  for the ATI Radeon 5000 Series and AMD Radeon 6800 GPUs that are specified in the Supported Devices.

0 Likes
Tasp
Journeyman III

Pinned memory

How can I check if DRMDMA is enabled and working correctly?

0 Likes
himanshu_gautam
Grandmaster

Pinned memory

AFAIK, DRMDMA is enabled by default.

I think you can check performance by enqueueing a read\write operation with a kernel. If you do not call clFinish in between them and do not call a blocked read/write, I think DMA should work. Then try after inserting a CLFInish between the two commands. I hope you will get some performance degrade because DMA cannot be used concurrently with kernel execution.

0 Likes
Tasp
Journeyman III

Pinned memory

I guess it's a driver problem on windows (not catalyst driver though). On Ubuntu 10.04 64 bit with 11.1 I get:

Platform Vendor : Advanced Micro Devices, Inc.
Device 0 : Cypress
Host to device : 4.2474 GB/s
Device to host : 4.67332 GB/s

0 Likes