5 ms·
I 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
by robabbott 13y ago
I 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?
- modeless 13y agoCloud FPGAs sound awesome. I'm interested in computer vision and machine learning, specifically "deep learning" neural nets. The current state of the art in neural nets is GPU implementations, and I think it's the right time to start thinking about FPGAs and eventually ASICs. For deep learning, high performance in a single machine is important, as it's very difficult to distribute learning across multiple machines in an efficient way. A more powerful machine can train a bigger network in the same amount of time, and a bigger network can learn more complex things, with no known upper bound.
- digitailor 13y agoThat's a great usage of FPGAs, and part of the platform will enable you to choose what algorithms you want to boot on your cluster slice. (In the FPGA space these pre-built algorithm circuits are called "IP blocks".) we will definitely be offering machine learning algorithms, with an eye towards minimizing data storage as much as possible. That may sound counter-intuitive, but there's a method to the madness (hopefully!)
- gngeal 13y agoThe sea change will come when someone makes an FPGA that's an order of magnitude easier to program. I think it's not as much a matter of making an FPGA that would be easier to program as it is a matter of coming up with an order-of-magnitude of improvement in programming techniques. What you're demanding is not far removed from saying that better programming models require improved transistors.
- modeless 13y agoThat would be true if FPGAs were just arrays of undifferentiated transistors, but that's far from reality. FPGAs have DSP blocks, embedded memories, and other hardware elements that make a big difference in how they are programmed. It's not ridiculous to postulate that a hypothetical order-of-magnitude-better FPGA programming environment might benefit from or require hardware changes.