2 ms·
I offer 3 different reasons why FPGAs might make sense to consider: 1. (general) application reconfigurability where the benefits of SRAM performance, integrat
by metaphor 5y ago
I offer 3 different reasons why FPGAs might make sense to consider:
1. (general) application reconfigurability where the benefits of SRAM performance, integrated hard IP, fabric real estate, and/or cycle-accurate RTL control cannot be easily replaced by other roughly asymptotic solutions;
2. (general) offloading massively/embarassingly parallel compute architectures where commodity GPGPUs are either physically incompatible and/or power-wise too inefficient;
3. (enterprise) overall volume/performance/budget/schedule objectives fall short of the sort needed to justify pushing a bespoke ASIC design through process pipeline.
Relatively speaking, "blazing fast implementations of algorithms" is possible iff the compute bottleneck can be effectively parallelized; I'm not certain what was meant by "hard to run otherwise".
To put this into perspective, reliably clocking a non-trivial FPGA application at 200 MHz is objectively hard in a way that hobbyist types outside of the professional domain can't seem to understand (or arrogantly dismiss). And yet for the right class of problems, such an application may have the potential to put a GPGPU clocked in the GHz to shame on both compute throughput and power consumption fronts.
- jvanderbot 5y agoFor "hard", I was implicitly referring to applications where existing compute throughput doesn't support the algorithm you want to run (which the example I was thinking of [1] is precisely case 2 you have) 1. https://ieeexplore.ieee.org/abstract/document/5747245 https://ieeexplore.ieee.org/abstract/document/5747245 Implementation of pin point landing vision components in an FPGA system for NASA stuff