Modelling Chemical Reactions Using An FPGA

[Bruce Land] is a professor at Cornell University who was looking for a way to quickly solve chemical kinetic systems. He had used MATLAB but longed for a faster method. His upgrade achieves a 100 times speed increase by using an FPGA as a parallel stochastic solver.

It works by generating 100 pseudo-random 16-bit numbers using an Altera DE2 board. This is done once per cycle at 50 MHz so we’re talking about a lot of random numbers. They are run through the solver algorithms and used to compute each reaction cycle. On a 3.8 GHz P4 process running the MATLAB version one of these cycles would take about 1000 seconds, so the speed improvement can immediately be felt. It’s wonderful to have this new tool. It does make us wonder what could be done with GPU processing that we’ve seen for password cracking or bit coin mining. Much like FPGAs a GPU is prefect for running a large number of parallel operations.

9 thoughts on “Modelling Chemical Reactions Using An FPGA

  1. @Ioans: agreed. There are very few write-ups that don’t have issues thr make them difficult to read. Glad I’m not the only one to notice it.

    Otherwise, very interesting use for FPGAs.

  2. This is very interesting and I’ll have to check it over very carefully.

    The tough thing about chemical simulations is the number of iterations required and the magnitude of the numbers being multiplied: 15 orders of magnitude change in concentration wouldn’t be unusual, and if you’re simulating millions of reactions, errors stack up fast.

    This was my first eye-opener for IEEE 754.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.