Hacker News new | ask | show | jobs
by cmccabe 4618 days ago
I wasn't trying to be negative about FPGAs. I was just pointing out that there are good reasons to use GPUs in some scenarios. If your company can put FPGAs within reach of more people, that would be awesome.

I used to work at a startup company that had a plan to reduce power consumption in data centers by spinning down hard drives when they weren't in use. Too late, we learned that there isn't a lot of money in saving power. The average data center in the US might spend $500k/year on electricity. That sounds like a lot, until you consider that the fully loaded cost of a good engineer will be around $200k/year. Power becomes a factor only when you hit a wall in terms of how much can be delivered to the data center.

I was an electrical engineer in college, and I learned how to write Verilog and do register-transfer-level design. It's something that I don't think most software engineers have the background to do. Currently, I work in the area of big data, on Hadoop.

I cannot deny that Hadoop is not very power-efficient. But it offers some things that are more important to customers: infinite scalability, the ability to run on commodity hardware, and the ability to interface with the system via normal-looking software.

Actually, even writing Java code is too difficult for many Hadoop users now. They prefer to write SQL. (Even SQL is too hard for some, and they use automated tools to generate the SQL and produce charts.)

1 comments

As you talk about your background more I'm getting where you're coming from. GPUs are obviously more powerful and capable for high-end graphics disregarding power efficiency. And if you're doing Hadoop big data your perspective makes more sense to me, because storage-centric applications really have no use for FPGAs. Maybe they'll be useful for querying one day, but they sure can't store large datasets. I get your point that FPGAs are not a universal panacea, but in the case of GPUs for supercomputing, and not graphics tasks, I think they are.
In the past, GPUs weren't that practical for big data, since they offered a lot of CPU power, but not much in the way of I/O. It's possible that PCI-e 3.0 and 4.0 will change that, since they supposedly offer up to 15 GB/s and 31 GB/s bandwidth.

Big data is more than just querying. There are people running fancy machine learning algorithms. Those are the people most likely to use the flexibility of having a Java (or other programming language) interface.

I'm curious why you think FPGAs will win over GPUs in HPC. I struggle to imagine academics writing Verilog or VHDL. I can just barely see them sending in legions of grad students to try to write CUDA or OpenCL, but RTL design seems a bridge too far. I also haven't heard of any of the big FPGA companies trying to make a splash in HPC, whereas NVIDIA has been very active with Tesla and its other high-end offerings.