Insane performance results or not?
Pauli Nieminen
suokkos at gmail.com
Wed Feb 10 13:19:42 PST 2010
On Wed, Feb 10, 2010 at 7:44 PM, Roland Scheidegger
<sroland at tungstengraphics.com> wrote:
> On 10.02.2010 15:12, Pauli Nieminen wrote:
>> Hi!
>>
>> I made some testing how fast my system can move data to VRAM/GTT and I
>> got very interestig results:
>>
>> (II) RADEON(0): BENCH: copy 3129344 bytes to vram took 78595us,
>> resulting in 39Mbps
> "Mbps" is a bit confusing I can only read that as Megabit per second
> which is even more pathetic :-)
>
MBps then. I never remember to write big B for byte :/
>> (II) RADEON(0): BENCH: copy 3129344 bytes to gtt took 11411us,
>> resulting in 274Mbps
>> (II) RADEON(0): BENCH: copy 3129344 bytes to gtt took 8431us,
>> resulting in 371Mbps
>> (II) RADEON(0): BENCH: copy 3129344 bytes to vram took 75773us,
>> resulting in 41Mbps
>> (II) RADEON(0): BENCH: copy 3129344 gtt to vram took 3143us, resulting
>> in 995Mbps
>>
>>
>> So direct write to VRAM operates only at 40 mega bytes per second.
>> That is insanely slow. I hope we won't hit that kind of limit anywhere
>> in any code.
>>
>> I did check that VRAM is WC cached in /proc/mtrr. But still it is
>> surprising slow.
> Isn't that something which fast writes should help with, an option we
> never really got to work? I agree though it's really bad.
> In any case I think it would be interesting to repeat those tests on
> pci/pcie cards.
>
Fast writes might be solution but how reliable they are? How good
performance wise?
>>
>> But most insane result is that CPU can only write to GTT max 371 Mbps
>> while GPU can do gtt to vram at 995Mbps. More insane in that results
>> is that I was nearly sure that my memory can't operate that fast but
>> still when code to check vram content runs everything is correctly in
>> vram! What did GPU/AGP did to cheat that much? Is there some error in
>> my test case?
>>
>> System is:
>> Athlon mobility XP at 2.1Ghz
>> 333MHz ddr memory
>> AGP 8x bus to mobility radeon 9200.
>
> Why is that surprsing? AGP 8x is good for ~2GB/s. Your memory is good
> for ~2.7GB/s. Granted, those are theoretical peak values, but getting
> 1GB/s out of it looks very reasonable. Looks to me like CPU->GTT is slow
> rather than GTT->VRAM insanely fast...
>
yes. I forgot that CPU memcpy has to operate in full duplex while GPU
is operating in half duplex. Also change to memcpy instead of memmoves
pushes speeds to 440-450 for first gtt copy and 470-490 for second
copy. But still my CPU is slow when GPU has to first be notified about
copy and then it has to signal back about work being done.
So memove is also very slow for writes to WC cached GTT.
> Roland
>
More information about the xorg-driver-ati
mailing list