FD Algorithm Information

What about GPUs, FPGAs, and the Cell processor?

We have looked closely at all these options and feel they are all currently inappropriate for the FD forward modeling application. However, this can change quickly and our software is set up to be adapted to these platforms when we feel they are practical.

The key issues to consider are:

  • how fast the current x86-64 Intel/AMD platform really is for the price,
  • how easy it is to attain peak performance for the x86-64 platform,
  • the continuous rapid improvement of this platform especially with the next generation of chips from Intel & AMD planned in 12-24 months,
  • how the FD modeling algorithm involves intensive data movement,
  • and there is a lot of risk in a customer buying specialty hardware. There is much value in having general purpose hardware that can be used by a variety of software applications and is easy to program for. 
  • To move away from commodity hardware, there needs to be strong long term motivation and we don't think the alternative platforms provide this. 

GPU info: 

GPUs (Graphics Processing Units) are standard high end graphics boards that can be used for compute power. Recent advancements with GPUs make them practical to use as pure compute engines rather than just for their graphics capabilities. 

We are looking closely at this opportunity. We have several high end boards in house, have code running, and we are in close communication with the major hardware vendors. Key challenges with this platform is data movement to the GPU, and implementing non-simple algorithms on GPUs. 

FPGA info: 

FPGAs have come a long way recently. Programming for them is much easier, it is possible to use floating point values, and they have enough gates to use fairly complex algorithms. Yet, these platforms are still challenged by their high price, the data movement, and the programming is still not easy.  

Cell BE processor:  

The peak performance numbers for the Cell are impressive. Challenges are attaining the peak performance, the high cost of the hardware, and the uncertainty in the future improvements of the Cell platform.