FPU in GPU vs FPU in FPGA which is better

Status
Not open for further replies.

seeker_123

Member level 2
Joined
Apr 8, 2013
Messages
53
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Location
Bangalore
Visit site
Activity points
1,731
hii......

Can anyone tell what are the plus point of both ?
which is to prefer at which application....?

Thanks in advance
 

a comparison of the Basic Linear Algebra Subroutines (BLAS) using double-precision floating point on an FPGA, CPU and GPU. On the CPU and GPU, we utilize standard libraries on state-of-the-art devices. On the FPGA, we have developed parameterized modular implementations for the dotproduct and Gaxpy or matrix-vector multiplication. In order to obtain optimal performance for any aspect ratio of the matrices, we have designed a high-throughput accumulator to perform an efficient reduction of floating point values. To support scalability to large data-sets, we target the BEE3 FPGA platform. We use performance and energy efficiency as metrics to compare the different platforms. Results show that FPGAs offer comparable performance as well as 2.7 to 293 times better energy efficiency for the test cases that we implemented on all three platforms.

source https://research.microsoft.com/apps/pubs/default.aspx?id=130834
 

FPGA may perform better but will have some cost in that you need the man hours to actually produce the FP pipeline in the first place. The GPU will be more flexible.
 

FPGA may perform better but will have some cost in that you need the man hours to actually produce the FP pipeline in the first place. The GPU will be more flexible.

Though we made FP pipelined. FPGA can not give frequency in GHz while GPU works at Ghz frequency.

So can you make me clear how "FPGA may perform better"

Thanks
 

Because as you might know, the single metric of frequency is a poor performance indicator. You can have a single ALU racing at 5 GHz, and I'll take a massive parallel goodie at a boringly slow 300 MHz. Good luck with that 5 GHz toy.

Besides that, there are tasks that do not map well onto a GPU. If all you do is vectored number crunching the GPU will likely win. If you have for example a 4096 bit wide stream and have to do lots of bitwise operations on it, the GPU will likely be crap compared to fpga. Or oh I dunno, the latest and greatest crypto research for which no hardware block exists in current cpu/gpu. Or a limited size neural net. or or or.
 

Though we made FP pipelined. FPGA can not give frequency in GHz while GPU works at Ghz frequency.

So can you make me clear how "FPGA may perform better"

Thanks

GPU is fixed to work on specific tasks really well - when you go off the idea, it doesnt work so well. With an FPGA, you can customise it however you want, and have massive parrallel data processing.
 


Thanks mrflibble
-------------------------------------------------------------------------------------------------------------------
"Because as you might know, the single metric of frequency is a poor performance indicator. You can have a single ALU racing at 5 GHz, and I'll take a massive parallel goodie at a boringly slow 300 MHz. Good luck with that 5 GHz toy "
--------------------------------------------------------------------------------------------------------------------
But GPU also have number of parallel units. that doesnt contain only single unit of design.

I am agree that if it is wide bit stream then FPGA will win.
Now I am asking specifically about FPU so it will maximum of 64 bit inputs for double precision or 80 for extended DP. So what would you suggest.

correct me if I am wrong somewhere..

Thanks again
 

if your specification is so narrow, and you already have the answer in your head, why are you even bothering to ask?
 

GPU is fixed to work on specific tasks really well - when you go off the idea, it doesnt work so well. With an FPGA, you can customise it however you want, and have massive parrallel data processing.

thanks TrickyDicky
I am fully agree with your point that GPU is fixed to work on specific tasks
But about parallel processing, GPU also has number of parallel design units(no. of FPU) so GPU also have massive parallel data processing capability.

thanks again
 

Well obviously. I was just pointing out that "but it has 847628347 GHz" is a pointless metric. And those parallel units are only any good if the workload can actually make good use of all those units.

So which is better? Whichever one is more mauve. But in defense of your cognitive bias, the development effort for GPU will probably be a bit less compared to any fpga based implementation.
 
if your specification is so narrow, and you already have the answer in your head, why are you even bothering to ask?

thanks TrickyDicky
But i am asking about FPU so its maximum data width will be that only. And I am working on FPGA implementation of double precision(DP) FPU.
ANd now I got that some new GPU like nvidia's K20 support DP FPU.

So I am trying to figure out some things.
Thanks again for your precious help
 

What are you trying to figure out?
IF you want a single GPU with a 64 bit input, and no flexability, then go with the GPU. Much better.
 

Others have given good answers, just wanted to add a different perspective. Here is my survey paper published in ACM Computing Surveys 2015

A Survey of Methods For Analyzing and Improving GPU Energy Efficiency

which compares GPU with FPGA and CPU on energy efficiency metric. Most papers report that FPGA is more energy efficient than GPU, which, in turn, is more energy efficient than CPU. Since power budgets are fixed (depending on cooling capability), energy efficiency of FPGA means one can do more computations within same power budget with FPGA, and thus get better performance with FPGA than with GPU. Of course, please also account for FPGA limitations, as mentioned by others.
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…