Newsgroups: sci.image.processing
From: ricky@drift.demon.co.uk (Rick Turner)
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!pipex!demon!drift.demon.co.uk!ricky
Subject: Re: FFT Calculations: i860 or PowerPC ?
References: <3dgg98$joj@masala.cc.uh.edu>
Reply-To: ricky@drift.demon.co.uk
X-Newsreader: Demon Internet Simple News v1.29
Lines: 47
X-Posting-Host: drift.demon.co.uk
Date: Mon, 26 Dec 1994 19:42:37 +0000
Message-ID: <788470957snz@drift.demon.co.uk>
Sender: usenet@demon.co.uk

In article <3dgg98$joj@masala.cc.uh.edu>
           smenon@menudo.uh.edu "Shashi Menon" writes:

> Which of the two processors - an i860 at 40MHz or a PowerPC at 80 MHz
> is more suited for FFT kind of applications? Is such a general
> comparison practical? If not, what factors should be taken into
> account. Explanations based on hardware configurations would be
> appreciated.
>

I have written optimised assembler fft's for the i860 that achieve
zero wasted clocks and both pipes full. Theoretically, on a 40MHz
i860 that should give you 80 megaflops (two FP pipes in parallel).
However, in practice I only got in the 7-10 megaflop range. The reason
was that the board memory could not keep up with the chip, even though
it was (very) fast banked VRAM. Thus, you had to wait for the load/store
operations to complete. Obviously, the i860 memory pipeline does not
help at all in this situation.

Code written in 'C' and compiled for the i860 gave about 5 megaflops
using the MetaWare High C compiler. This was some time ago though and
they may well have improved the code generation (I hope so - the one
I had generated some really weird things).

I have also tried the same 'C' code on an IBM PowerPC system, as well
as on the Power2 architecture (RS/6000 model 590). On these machines
typically you sustain about 80 percent of the theoretical maximum peak
megaflop rate. An 80 MHz machine will therefore give you roughly 65
megaflops. Because it's a balanced system rather than an addon board
memory/bus/etc performance match the processor and you dont get
bottlenecked there.

Performance of course depends on how many other things you're running
on the same machine, since processor load, task switching and so forth
can significantly impact performance. One other thing to note by the
way is that the i860 is lousy in a multitasking environment; task
switching has to be done in software and takes forever since you have
to unload all the regs, pipes and so forth yourself.

I think that the most telling point is that I have abandoned the i860
in favour of the PowerPC as an image processing platform (amongst other
things, I write image processing code professionally).

Drop me e-mail if you want more info.

--
Rick Turner
