Welcome, Guest. Please login or register.

Author Topic: Got a PPC card? I need you!  (Read 7371 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline KarlosTopic starter

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Got a PPC card? I need you!
« on: August 31, 2004, 12:50:43 AM »
Hi folks,

I need to gather some performance information on the memory bandwidth available to classic systems using PowerPC cards.

I have written a small test app, available here.

It requires:

AmigaOS 3.x (3.0 untested) / WarpOS 4+
Graphics card capable of supporting a 16-bit workbench
About 1.5MB fast RAM. 256KB chip RAM

It will open a 640x480 window on your 16/24/32-bit workbench (which it uses to obtain a valid VRAM offscreen surface for testing) - hence the RTG requirements.

If you can spare 5 minutes, please download it and run it. It will produce a listing like this one (from my system) that your should redirect to a file:

Code: [Select]

Memory/Bus bandwidth estimation (WarpOS/PPC) (c) Karl Churchill 2004

System Info

CPU : 603e [PVR:0x00070201]
CPU : 240.000 MHz
FSB :  60.000 MHz

Estimating VRAM access bandwidth

Read  VRAM (64-bit) : 5357.07 KB/s
Read  VRAM (32-bit) : 5167.71 KB/s
Read  VRAM (16-bit) : 2568.80 KB/s
Read  VRAM  (8-bit) : 1297.22 KB/s
Write VRAM (64-bit) : 15212.21 KB/s
Write VRAM (32-bit) : 14341.32 KB/s
Write VRAM (16-bit) : 7136.84 KB/s
Write VRAM  (8-bit) : 3573.41 KB/s

Estimating fast RAM access bandwidth [normal]

Read  FAST  (64-bit) : 70531.72 KB/s
Read  FAST  (32-bit) : 65485.35 KB/s
Read  FAST  (16-bit) : 59806.60 KB/s
Read  FAST   (8-bit) : 50414.33 KB/s
Write FAST  (64-bit) : 40211.58 KB/s
Write FAST  (32-bit) : 40062.42 KB/s
Write FAST  (16-bit) : 40174.10 KB/s
Write FAST   (8-bit) : 40063.94 KB/s

Estimating fast RAM access bandwidth [writethrough]

Read  FAST  (64-bit) : 70779.57 KB/s
Read  FAST  (32-bit) : 65424.45 KB/s
Read  FAST  (16-bit) : 59734.12 KB/s
Read  FAST   (8-bit) : 50471.28 KB/s
Write FAST  (64-bit) : 44196.65 KB/s
Write FAST  (32-bit) : 27602.69 KB/s
Write FAST  (16-bit) : 13950.28 KB/s
Write FAST   (8-bit) : 7001.60 KB/s

Estimating chip RAM access bandwidth

Read  CHIP  (64-bit) : 4280.86 KB/s
Read  CHIP  (32-bit) : 4251.75 KB/s
Read  CHIP  (16-bit) : 4238.68 KB/s
Read  CHIP   (8-bit) : 4254.50 KB/s
Write CHIP  (64-bit) : 2680.55 KB/s
Write CHIP  (32-bit) : 2695.44 KB/s
Write CHIP  (16-bit) : 2699.28 KB/s
Write CHIP   (8-bit) : 2680.32 KB/s

Estimating fast RAM [normal] to fast RAM [normal] bandwidth

FAST -> FAST (64-bit) : 39994.81 KB/s
FAST -> FAST (32-bit) : 40019.66 KB/s
FAST -> FAST (16-bit) : 39952.29 KB/s
FAST -> FAST  (8-bit) : 31528.36 KB/s

Estimating fast RAM [normal] to fast RAM [writethrough] bandwidth

FAST -> FAST (64-bit) : 27710.04 KB/s
FAST -> FAST (32-bit) : 20138.16 KB/s
FAST -> FAST (16-bit) : 11738.51 KB/s
FAST -> FAST  (8-bit) : 6379.13 KB/s

Estimating fast RAM [normal] to VRAM copy bandwidth

FAST -> VRAM (64-bit) : 12474.13 KB/s
FAST -> VRAM (32-bit) : 11891.99 KB/s
FAST -> VRAM (16-bit) : 6467.78 KB/s
FAST -> VRAM  (8-bit) : 3399.76 KB/s

Estimating VRAM to RAM [normal] copy bandwidth

VRAM -> FAST (64-bit) : 4739.20 KB/s
VRAM -> FAST (32-bit) : 4593.28 KB/s
VRAM -> FAST (16-bit) : 2426.28 KB/s
VRAM -> FAST  (8-bit) : 1257.86 KB/s

Estimating VRAM to RAM [writethrough] copy bandwidth

VRAM -> RAM (64-bit) : 4851.96 KB/s
VRAM -> RAM (32-bit) : 4461.07 KB/s
VRAM -> RAM (16-bit) : 2251.81 KB/s
VRAM -> RAM  (8-bit) : 1119.06 KB/s

Estimating FAST [normal] to CHIP copy bandwidth

FAST -> CHIP (64-bit) : 2550.21 KB/s
FAST -> CHIP (32-bit) : 2548.12 KB/s
FAST -> CHIP (16-bit) : 2546.74 KB/s
FAST -> CHIP  (8-bit) : 2530.97 KB/s

Estimating CHIP to RAM [normal] copy bandwidth

CHIP -> FAST (64-bit) : 3883.21 KB/s
CHIP -> FAST (32-bit) : 3901.75 KB/s
CHIP -> FAST (16-bit) : 3870.20 KB/s
CHIP -> FAST  (8-bit) : 3760.80 KB/s

Estimating CHIP to RAM [writethrough] copy bandwidth

CHIP -> FAST (64-bit) : 3911.78 KB/s
CHIP -> FAST (32-bit) : 3734.43 KB/s
CHIP -> FAST (16-bit) : 3285.09 KB/s
CHIP -> FAST  (8-bit) : 2632.86 KB/s


Usual disclaimer : program is a strain test and may contain bugs, run it at your own risk.

That said, I ran it dozens of times on my machine during development with no ill effects ;-)

Please email any results to karlchurcill@gmail.com

(yes, I misspelled my own surname when registering)

Thanks in advance,

K
int p; // A
 

Offline redrumloa

  • Original Omega User
  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 10126
    • Show only replies by redrumloa
Re: Got a PPC card? I need you!
« Reply #1 on: August 31, 2004, 12:54:34 AM »
Did you get enough info from me, or do you want my slightly unfair results?  :-D
Someone has to state the obvious and that someone is me!
 

Offline KarlosTopic starter

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Got a PPC card? I need you!
« Reply #2 on: August 31, 2004, 12:57:10 AM »
Oops,

Forgot to add, please give a little info on your system:

Model Amiga (A1200, A4K, A3K etc)
Model Accelerator & 680x0 CPU
Memory capacity and speed (eg 60ns, 70ns etc)
Graphics card & interface used (local bus, mediator etc)

AmigaOS / WarpOS / CGX / P96 Versions

Number of fillings, name of dentist :lol:

Thanks :-)
int p; // A
 

Offline KarlosTopic starter

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Got a PPC card? I need you!
« Reply #3 on: August 31, 2004, 01:01:42 AM »
Quote

redrumloa wrote:
Did you get enough info from me, or do you want my slightly unfair results?  :-D


:-D

All information is useful.

BTW I emailed you something (nicknamed "relativity") recently but don't know if you got it :-/

I'd **really** like to see the results of that on your system if you can find a moment to run it :-D
int p; // A
 

Offline Dragster

  • Hero Member
  • *****
  • Join Date: Jun 2002
  • Posts: 1003
  • Country: mx
  • Gender: Male
    • Show only replies by Dragster
Re: Got a PPC card? I need you!
« Reply #4 on: August 31, 2004, 04:52:50 AM »
Hi!

Results sent!

Cheers

Dragster
Amiga 1200T 603/240, 060/50, SCSI II, Plextor 40/12/40S SCSI CDRW, Plextor 40X SCSI CDROM, Fujitsu 36GB 10KRPM SCSI HD, Pioneer 305S SCSI DVD, BVisionPPC, 256 MB FASTRAM, PowerFlyer EIDE, Scandex external scandoubler, ZIV busboard, Algor USB, Wireless, repulse audio...Peg II Quadruple boot: OS4.1FE/MorphOS 3.9 regged, OpenSUSE11.1 & Debian Squeeze, Powerbook G4 1139 MorphOS3.9, A4000D CSPPC/PIV/DENEB OS3.9/4.1FE, A4000T CSPPC/CVPPC/SCSI, etc.. 2
 

Offline Brian Hoskins

  • Electronics Engineer & Computer Programmer
  • Full Member
  • ***
  • Join Date: May 2002
  • Posts: 200
  • Country: wales
  • Thanked: 10 times
  • Gender: Male
    • Show only replies by Brian Hoskins
    • brianhoskins.uk
Re: Got a PPC card? I need you!
« Reply #5 on: August 31, 2004, 08:25:08 AM »
I got the following error when I attempted to run the program:

-------
10.System39:> Memory/Bus bandwidth estimation (WarpOS/PPC) (c) Karl Churchill 2004

Error creating context: 8
Couldn't create a context
-------

Brian
 

Offline Roj

  • Sr. Member
  • ****
  • Join Date: Jun 2002
  • Posts: 361
    • Show only replies by Roj
    • http://amiga.org/modules/mylinks/visit.php?lid=247
Re: Got a PPC card? I need you!
« Reply #6 on: August 31, 2004, 08:42:34 AM »
I got the same thing when I tried running it under P96. It worked properly with CGX.
I sold my Amiga for a small fortune, but a part of my soul went with it.
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Got a PPC card? I need you!
« Reply #7 on: August 31, 2004, 09:14:00 AM »
Just out of curiosity I ran the test on my Peg2 7447 1GHz + 1 GB DDR + Radeon 9200SE. Works fine with MorphOS WOS emulation, and the results are, to put it mildly, quite crushing... :-)
 

Offline poweramiga2002

  • Full Member
  • ***
  • Join Date: Jun 2002
  • Posts: 177
    • Show only replies by poweramiga2002
Re: Got a PPC card? I need you!
« Reply #8 on: August 31, 2004, 09:30:46 AM »
out of curiosity i tried to run on my A1 os4 pre-release
but no luck
 

Offline KarlosTopic starter

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Got a PPC card? I need you!
« Reply #9 on: August 31, 2004, 09:43:12 AM »
Quote

BrianJHoskins wrote:
I got the following error when I attempted to run the program:

-------
10.System39:> Memory/Bus bandwidth estimation (WarpOS/PPC) (c) Karl Churchill 2004

Error creating context: 8
Couldn't create a context
-------

Brian


Ahh. Error 8 implies it couldn't open a library - I forgot to check the CGX version required and blithely used 42 (this  has caught me out before too!). It only needs some basic v3 functionality (locking bitmaps, querying them etc).

I've recompiled and uploaded. This one should work under P96.
int p; // A
 

Offline KarlosTopic starter

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Got a PPC card? I need you!
« Reply #10 on: August 31, 2004, 09:51:34 AM »
Quote

Piru wrote:
Just out of curiosity I ran the test on my Peg2 7447 1GHz + 1 GB DDR + Radeon 9200SE. Works fine with MorphOS WOS emulation, and the results are, to put it mildly, quite crushing... :-)


Interesting :-)

I couldn't help noticing your normal and writethrough timings were the same. Which made me think...

I don't expect that these results are particularly accurate depending on how big your L2 cache is :-D

The program was aimed at classics and as such it allocates:

1 bitmap 640x480 (hardware rounded) at 16 bit (or higher depending on WB depth). Thats 600K VRAM (more for 24/32 bit of course).

1 fast ram area of 512K, normal cache settings
1 fast ram area of 512K, writethrough cache settings
1 chip ram area of 256K (not cahceable on classic)

IIRC, the G4 has sufficient L2 cache (512K) to completely invalidate this test.

I can recompile a version that opens a much larger window and allocates larger fast ram areas (better still, make it user definable!), which should give more control over these things.

@poweramiga2002

There's no WOS emulation in OS4 at the moment. I plan to make an OS4 native version anyway :-)
int p; // A
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Got a PPC card? I need you!
« Reply #11 on: August 31, 2004, 09:56:47 AM »
@Karlos

Yeah, 7447 has 512KB L2 cache, so the fastmem buffer seems to fit it completely. Ah, regarding writethough, you use the special WOS memory allocation flag for that? If so, I think wosemu just ignores the flag for now...

VRAM is noncacheable always, so buffersize doesn't really matter (other than timing accuracy).
 

Offline KarlosTopic starter

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Got a PPC card? I need you!
« Reply #12 on: August 31, 2004, 11:32:18 AM »
@Piru

I use an accumulation based benchmark, where I time a variable number of iterations until a total time (in this case, 2 seconds) is exceeded (the actual time is recorded, not assumed to be 2 seconds of course):

The pseudocode is

Code: [Select]

iterations = 0;
while (totaltime < sampletime)
{
    lock hardware;
    disable task switching & interrupts;

    reset timer;
    perform operation;
    get elapsed time;

    enable task switching & interrupts;
    unlock hardware;
    totaltime = totaltime + elapsed time;
    iterations = iterations + 1;
}


The result is then (iterations * datasize) / totaltime

I find that this gives the most reliable overall results compared to fixed iteration/variable time (which obviously gets less accurate for faster systems).

The actual tests (read/write/copy) are written in PPC asm using a Duffs Device (my favourite) style unrolled loop. They should be about as fast as possible.

On classic, the tests are also run with 680x0 task switching and interrupts disabled (just for each iteration, not the complete time). The time recorded (using GetSysTimePPC()) is just for the operation itself, hence context switch timings are hopefully irrelavent.

The writethrough memory is obtained using MEMF_WRITETHROUGH for AllocVecPPC().

I'll knock up a version that should more fairly strain a Pegasos.
int p; // A
 

Offline KarlosTopic starter

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Got a PPC card? I need you!
« Reply #13 on: August 31, 2004, 05:09:39 PM »
:bump:

I know there's still more PPC users out there :-D
int p; // A
 

Offline rayt

  • Sr. Member
  • ****
  • Join Date: Dec 2002
  • Posts: 322
    • Show only replies by rayt
Re: Got a PPC card? I need you!
« Reply #14 on: September 01, 2004, 12:29:45 AM »
I have just downloaded it and tried it out but the "error 8" problem with p96 seems to be still there.