6 ms·
It's cool that it's essentially a consumer-participatory GPU database, but every time I read about GPU crunching I'm underwhelmed. The power waste and cost is a
by digitailor 13y ago
It's cool that it's essentially a consumer-participatory GPU database, but every time I read about GPU crunching I'm underwhelmed. The power waste and cost is absurd. FPGAs have become as capable, or more, than GPUs at a ridiculously higher level of efficiency. I understand that this platform is about technology accessibility... but having casual computer users burning their graphics card 24/7 seems cute but irrelevant to current methods of supercomputation. I find a lot of people who care about efficient natural resource usage don't think twice about very wasteful computing. Those watts are a whole lot of coal.
- robabbott 13y agoI agree. It only makes sense for certain types of workloads and for systems that are constantly in use (like supercomputers). This has been borne out through the movement of Bitcoin miner rigs from GPUs to FPGAs to ASICs. The power consumption and comparative performance of the GPU cannot win out over these devices.
- digitailor 13y agoYou're right, I think BTC mining is our current best example of the trajectory of HPC. It proved from an economic point of view that GPUs are a kludge at best. BTC has really spread awareness about FPGA and ASIC technology. Highly capable FPGAs (not just the standard glue logic type) have mostly been the provence of HFT and the NSA until now. And finance has only really been hip for the past 3-4 years as they chase ultra-low trading latencies. And now a MicroZed costs $199 and Digilent is releasing the Zybo at $149! Technology sea change, anyone? It's going to make coding REAL interesting again...
- modeless 13y agoGPUs are no more a kludge or waste of power than CPUs. They just provide access to a different point on the efficiency vs. ease of programming graph. FPGAs may be getting cheaper but they're still much more difficult to program than GPUs. The sea change will come when someone makes an FPGA that's an order of magnitude easier to program.
- digitailor 13y agoTotally agree, that's why I mentioned this is about technology accessibility and really not much else. That's what I mean by kludge- it's far from ideal, but it "just works." And it's funny you mention CPUs- Von Neumann Turing machines are looking like a real kludge to me at this point as well... In my view SOCs like the Zynq are the real news, and those don't get talked about much on HN. Sequential PLUS parallel with high efficiency. So what if it's difficult to understand? Trying to really flexes the brain, and it's been worth it for me. But not easy. That's why I wanted to start this conversation, I think it's germane to GPU efforts and people may not be aware. I would be more excited about a project like this spreading FPGA tech, and more effort being spent there. My company is doing it and we want a bigger open-source community with us. (We're not in a position to release code yet, but we will.) Effort is energy. I'm hoping mentioning these technologies will give people pursuing projects like this some options on where to spend their efforts. There's a finite pool of people who are working in this space and I hope it grows.
- modeless 13y agoAgreed that accessible FPGA SoCs are super exciting and I want to learn more about them. In the past when I've looked at these I've always been disappointed in the raw FLOPS available vs. GPUs, though it's difficult to compare directly, and I'm totally unfamiliar with the FPGA world. If I buy e.g. a ZYBO, make something cool, and want to scale it up to beat e.g. an NVIDIA GTX Titan in raw performance (4.5 TFLOPS), what are my options?
- digitailor 13y agoI guess it really depends on the application space you're interested in. We are building a cloud-FPGA platform but the barrier is just as you mention- the user being able do the programming. The idea is more people could scale their projects using the platform, but holy crap do we have a ways to go. We're going to lease out algorithmic services, basically, since getting a customer's design to work on our gear is more than difficult, there's way too much hardware variety. Portability is practically nonexistent, and that's what we're specifically trying to address. Our approach for scaling is a monster FPGA board we're developing. It has a Zynq on it. It will be extremely inexpensive in terms of value next to, say, a highly-capable production server. What kind of projects would you be working on if you bought a Zynq board?
- mtdewcmu 13y agoI don't think power is relevant here, because the GPU is being used to reduce latency when running queries interactively, so it's only on for a small fraction of the time.
- deutronium 13y agoYou can use OpenCL, which is normally used for programming GPUs, on FPGAs http://www.altera.com/products/software/opencl/opencl-index.html http://www.altera.com/products/software/opencl/opencl-index.... Also see http://www.anandtech.com/show/7334/a-look-at-alteras-opencl-sdk-for-fpgas http://www.anandtech.com/show/7334/a-look-at-alteras-opencl-... for more information
- yetanotherphd 13y agoSomeone correct me if I'm out of line here, but I think it would be appropriate to mention your personal interest in FPGA's (which I discovered from your comments lower down). On the point itself, "accessibility" is probably understating the nature of the problem. Actually being able to program for a platform, and how easily you can do it, is a huge issue. Issues of "accessibility" apply as much to huge companies with giant server farms (note how little even GPU computing is used by them) as they do to tinkerers.
- digitailor 13y agoYou're not out of line, and I haven't tried to hide the fact that I'm now professionally interested, in fact that's all I'm blabbing about below. But that's no coincidence- this is why I got into FPGAs: the problem spaces that are like what this cool project addresses. But I rejected GPUs as a platform completely for the reasons I list. And that's how I came to be interested in FPGAs. I am not an EE and it was a hard decision to make the switch to pursuing this, and I'm sharing that experience in the hope of inspiring/meeting others. As well as trying to open myself up to input/advice from people more experienced than I.
- yetanotherphd 13y agoFair point, as often happens I forgot to consider the possibility that your preference for FPGA's caused you to get a job selling an FPGA platform and not vice versa. In any case, my own viewpoint is that CUDA and OpenCL are the best that has been produced by a huge effort by well financed and technically sophisticated groups. GPU computing offers advantages in flops/watt and flops/dollar, and yet is still not widely utilized because of the increased programming complexity. Given this, I think it will be very hard for a small group to compete using a completely new architecture. On the other hand, you are starting with a blank slate and you are controlling the entire stack, so I hope you can use that to your advantage.
- cmccabe 13y agoIt's silly to make blanket statements like "FPGAs have become as capable, or more, than GPUs." It depends on what you're trying to do! If you want to multiply big matrices, GPUs are great for that. A lot of scientific applications work well on GPUs. And obviously, GPUs are great for graphics. Also, FPGAs are no longer blank templates on which you can stamp any design. The new ones all come with built-in "IP blocks" which you can't change. So you get a bunch of gates you can modify, but also perhaps dozen CPUs and a bank of memory, or so. Maybe someday GPUs and FPGAs will converge-- the former are getting more flexible, and the latter are getting less so. The biggest problem with contemporary GPUs is that they're I/O-starved, which I don't see anywhere in your comments. PCI-e is just not enough bandwidth. That is why GPUs are a sideshow in big data. It doesn't matter how many cores you have if you're sipping your data through a straw. The power consumption argument seems like a strawman. Replace a few incandescent lightbulbs in your home with LED ones. Congratulations. You can now run your GPU 24/7 and come out ahead in power consumption.
- digitailor 13y ago>> It's silly to make blanket statements like "FPGAs have become as capable, or more, than GPUs." Umm, you took "at a ridiculously higher level of efficiency" out of my quote in order to call it silly? C'mon man. If you've ever diligently crunched numbers on FPGA versus GPU monthly electricity costs at scale, I don't think you'd be capable of saying power efficiency is a strawman. If the idealistic efficient-resource-usage aspect is not convincing enough for you, we are talking millions and millions of dollars here (actually more). Look at Amazon GPU numbers and get back to me. We have detailed breakdowns of price comparisons that have been worked out in depth using the same algorithm. This is nothing like swapping out lightbulbs, that's an actual absurd and uninformed statement that can be verified and quantified as such. And I do mention both IP blocks (even in quotes as you do) and how SoC's CPU-PL communication is much faster from being same-chip-integrated, hours before you did, so I'm not sure what you mean. I'm also not getting why you use hard IP blocks as an argument that FPGAs are getting less flexible. They are helping to advance FPGA accessibility and flexibility a ton. Why do you think they're there? The development time savings are huge and the testing and optimization is by nature better. The 7000 series has pretty heavy options, you can get a lot PL all your own on them. We've been specifically talking about an ARM+PL SoC, are you trying to say that an FPGA like a Virtex or Kintex is somehow not a "blank slate"? You want no standardization of any kind? The lack of that is a huge problem, and it's getting solutions.