4 ms·
My current take is “program with if statements all the way down”->CPU, “Multiply these humongous matrix multiple times per second”->GPU. What is FPGA for?
by falserum 3y ago
My current take is “program with if statements all the way down”->CPU,
“Multiply these humongous matrix multiple times per second”->GPU.
What is FPGA for?
- packetlost 3y agoIf you're thinking in terms of instructions or mathematics operations, you're thinking too high level for what an FPGA is and does. FPGAs are often times for prototyping hardware designs, but also for bespoke parallelized or hardware operations that are too low of yield to justify ASIC development.
- falserum 3y agoCPU -> is hardware meant to run any program. ASIC -> is hardware that may run only single program which is hardcoded into the chip. FPGA is something between CPU and ASIC. Right? (At eli5 level)
- vitarnixofntrnt 3y ago[dead]
- icf80 3y agocustom software in hardware, multiple times faster re-implement your own GPU?
- fayalalebrun 3y agoWith FPGA, unlike with GPUs, you can achieve significant speedup of algorithms where parallelization is very difficult. This is thanks to a technique called pipelining, where you can perform several steps of a sequential computation at the same time. An example of this is video decoding/encoding, which is commonly implemented by dedicated hardware.
- falcrist 3y agoAside from hardware prototyping, this seems to be the primary benefit of FPGAs. Much like if you assembled a system from glue logic, all of the operations in the pipeline and across the entire subsystem can happen simultaneously and often asynchronously with the only limitations being on clocked devices like flipflops and gated latches... and obviously whatever propagation delays the logic gates have (along with any protection from race conditions) Admittedly, I haven't had the opportunity to play with FPGAs very often in my professional career, but the limited experience I've had with them showed me you need an entirely different mindset when programming in a hardware description language. With assembly everything is global, and similarly with FPGAs almost everything is asynchronous and parallel.
- EVa5I7bHFq9mnYK 3y agoDeep feed forward NNs in inference mode seem to fit that definition ... any caveats?
- klyrs 3y agoI've had gobs of fun writing systolic algorithms for FPGAs. Basically, "what if I could reconfigure my GPU with a per-core custom instruction set and local connectivity."
- hashtag-til 3y agoLike everything, it is fuelled by the AI bandwagon. I bet this is primarily to compete with fixed function AI accelerators, so that you can adapt to new generations of the AI hype. It doesn’t really need to be a better piece of engineering, or more power efficient. I’d say it is more guided by a marketing thing.
- vitarnixofntrnt 3y ago[dead]
- sifar 3y agotailor the hardware to your particular application.Depending on the complexity/fpga, your application can reside in the hardware, or even it is the hardware.
- vitarnixofntrnt 3y ago[dead]