Scientific Computing on FPGA

Hi, Coming from a scientific computing standpoint (with no hardware experience). I was wondering if you can improve any dedicated tasks by designing a special purpose chips ala FPGA to run your code? Does anyone have any experience with this?

Reply to
lancepickens
Loading thread data ...

Yes.

Tommy

Reply to
Tommy Thorn

Bioinformatics, specifically Timelogic used FPGAs in the DeCypher engine many years ago, Timelogic recently changed hands.

Also recently we saw product introductions from two vendors for Opteron coprocessors for the 2nd socket using Altera and Xilinx FPGAs, no doubt these will be used to hardwire some interesting algorithms. Also Cray computer bought out a small Opteron server company (Octiga Bay) with FPGAs on board rather than in the socket.

We had Mersenne primes on FPGA v highend PCs, FPGAs don't always win on cost, usually a matter of managing bandwidth, FPGAs sometimes better, sometimes not.

For the hardware shy, there are quite a few C based products to map software to hardware, even Fortran has been used (I'm told).

Google fpga with any scientific term and see what pops up.

John Jakson

Reply to
JJ

:-)

Google this.

fpga scientific computing

Guess what? Nearly half a million hits! So, I added 'lumberjack' to the search and got it down to 44 hits. HTH, Syms.

Reply to
Symon

Everything what can parallelize is possibly running faster in Hardware than in Software.

snipped-for-privacy@gmail.com wrote:

Reply to
helmut.leonhardt

And pipelined.

Reply to
pbdelete

A Googlewhackblat! But, you wrecked it. There'll be 2 hits now.

Reply to
Evan Lavelle

We have a reason number of customers playing with FPGAs on development boards as scientific and maths co-processors. It is happening in a surprising number of applications and markets.

John Adair Enterpoint Ltd. - Home of Broaddown4. The Ultimate Virtex-4 Development Board.

formatting link

Reply to
John Adair

I think an interesting application are neural networks:

formatting link

The speedup compared to normal CPUs should be very high: If you synthize a small network with e.g. 1,000 interconnections on the FPGA, a FPGA clocked with 100 MHz would process the neural network as fast as a normal CPU clocked with over 100 GHz.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

National Instruments do plug-in FPGA cards for their LabView product.

Dave

Reply to
daver2

Still, the amount of processing power a modern PC processor can deliver is enormous. It is problably more cost effective to optimize an algorithm to run parallel on 10 PC's than to develop a specific FPGA solution. If space is a constraint, the answer is in using blade servers.

--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
Reply to
Nico Coesel

This is often true even for obvious applications of FPGA, PC can still be better.

The analysis needs to account for factors such as floating point use, high locality referencing or lots of computing on tiny data sets and use of standard 32, 64 bit operands favors PCs On the other hand bit mangling, very high rates of memory shuffling, use of unusual bit wise or odd size mathematical operators and strategic use of buffer memories are a win for FPGAs.

I suspect that as Flash drives replace hard drives at the 30GByte level the case for hardware taking control of data management in Flash only increases since a hardware FPGA design wouldn't usually include disk systems and can then push the PC host further away.

Some problems can be factored both ways to get similar results in which case PCs still have the familiarity edge. Still a PC based solution that is just recompiled to hardware will perform far less well since it has already been factored to favor the PC.

For a hardware solution, the software version can be viewed as the simulation of same hardware and most simulations usually run many orders slower than real hardware.

This is why the best hardware solution is unlikeley to ever be achieved by software folks who have little experience in hardware who would force the FPGA to emulate the PC strengths.

John Jakson transputer guy

Reply to
JJ

The other area where FPGA's win is in latency. Parallel or networked PC's cannot meet the latency requirements of many large computationally intensive real-time systems, even though they can meet the throughput requirements

Marco ________________________ Marc Reinig UCO/Lick Observatory Laboratory for Adaptive Optics

Reply to
Marc Reinig

Thanks for the speedy reply everyone, I appreciate the help.

~Lance

messagenews: snipped-for-privacy@e3g2000cwe.googlegroups.com...

Reply to
lancepickens

Ofcourse, whipping up a quick list of platform benefits bound to miss some obvious ones.

Also both platforms continually changing/improving but also getting harder to understand and less transparent. That alone makes it harder to compare since one mans optimized code is another mans starting point.

Still the basic decider is likely to be whether one knows how to even start a FPGA. project.

Reply to
JJ

For any serious project this shouldn't be an issue. Last year I needed to warp video in real time to project video on an odd shape. It turned out a PC was more than fast enough for this task.

--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
Reply to
Nico Coesel

:-) ...and you had the cheek to post that nonsense thread between me and Bob on your blog! Keep up the good work! Cheers mate, Syms.

Reply to
Symon

JJ wrote

Yes. Start by looking at scientific apps on GPUs:

formatting link

Reply to
Tim

Plus, the FPGA can be clocked at say 200 MHz, 10 times less than the the CPU. Of course that doesn't mean that the CPU will be 10x faster, but the CPU's 'speed of light' is definitely much larger.

Reply to
przemek klosowski

Video/audio coprocessing?

DNA pattern searching is a good example.

Already been done though.

Some jobs (e.g. running an OS) are best suited to general purpose microprocessors, and some (like video display controllers) demand high-speed yet relatively simple workings and are ideal for dedicated hardware.

If you're looking for a big idea, it is best to look for applications that need a vast amount of small simple operations?

How about doing OCR front end to correlate 2D-images with many font characters simultaneously?

Reply to
Kryten

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.