Hz so good wrote:
Regarding using non-PC devices (like bitcoin miners), I understand that FPGAs and ASICs like the ones Butteryfly Labs make/bought are unsuitable, due to the extreme difference in what types of work they do and are optimized for. I read a little about curecoin, and was wondering why someone couldn't create an FPGA or ASIC that DOES accelerate the type of work GROMACS does? Why couldn't someone gangbang a bunch of Raspberry PIs together (as has been done for other purposes), and use those for the grunt work (besides the fact that F@H doesn't have the resources to devote to creating a Raspberry F@H client)? Like either 1 WU per RP, or use some type of "pre-processor" to split up/distribute/recombine chunks of WUs amongst all the RPs simultaneously.
Any sort of dedicated hardware would require dedicated development specifically for it, which is why the ASIC's being developed for cyptocoins are not even inter-compatible. Even though a bitcoin or litecoin ASIC only differ in the encryption used and the ASICs are doing 99% of the same work, engineers that reported on them stated the ASICs are still not inter-changeable between currencies. It's my guess a Gromacs optimized ASIC wouldn't be specific enough to the variety of projects F@H utilizes to offer any benefits, however I am not an engineer so that's just my uneducated guess. Building for Gromacs would be too general a target, and because F@H's own implementation of OpenMM itself is ever changing, dedicated ASICs may become obsolete once new cores with new versions of OpenMM are released.
The FPGAs and ASICs that mine bitcoin are just doing SHA-256 hashes on a massive scale. That's a standard algorithm that does one thing, and it was likely designed/selected to minimize the cost of a hardware implementation.
Litecoin, on the other hand, uses scrypt, which is a key derivation function that was explicitly designed to minimize the feasibility of FPGA/ASIC implementations by heavily relying on a time-memory trade-off. In other words, without sufficient memory available, computation time increases greatly. Since implementing memory chews up considerable amounts of gate/die space, scrypt makes FPGA/ASIC non-competitive. Forgoing that memory makes them very slow, as they essentially have to repeatedly recompute things, but implementing that memory means that a lot of parallelism is lost because you don't have the space. Thus the resultant design is still uneconomical/slow. That is why everyone mines litecoin with GPUs, as they have fast memory as part of their design (and they use AMD GPUs in particular because of their integer performance).
That should give you adequate background to understand why there aren't any ASICs for pande group. For one thing, the algorithm may not lend itself well to FPGA/ASICs because of its memory usage or other considerations.
But, and even more importantly: Once you've implemented an ASIC, that's what you've got. Forever
. An ASICs to do GROMACS, or any other type of work unit, would mean that Pande could never
change that work unit. If they find a bug, improvement, or simply want to adjust it to look for something similar or slightly different, oh well. Too late.
That's what the S in ASIC means: specific. *Very*
specific. That isn't a problem for something like bitcoin because SHA-256 is a very specific and very standard application that will never change by design. It can't
, because then people's hashes wouldn't match and bitcoin wouldn't work.
FPGAs can be reprogrammed, but they are generally considerably slower. You would also need someone very conversant in HDL, and you'd need a product that is designed to be reprogrammed by the end-consumer. I don't know enough to say how common that is, but I imagine it isn't very common at all.
As to Raspberry PI, what's the point? The performance isn't there. It'd be a waste of effort and resources to develop software and interconnects to turn them into mini-"super"computer.