Last Updated: 8 October, 2007

Objective: To speedup the computation of scientific applications

A top-down speedup model: The idea is to optimize software implementation as well as hardware components to speed up the computations. We plan to exploit the advantages of distributed computing and hardware accelerators.

Given a scientific application and some resources (n PC's, Network/Interconnections, n PCI buses and n FPGA),

  • Choose a candidate partition (heuristics driven) of the system for running the application
  • Study performance of the application with the chosen partition
  • Using the previous performance data, decide the next candidate partition for improved performance
  • Repeat the process

This model is only tentative and likely to change as we proceed with the project and gain more insight into it.

The bottom-up approach: We are first going to design our own application, optimize it at the software level; look into its MPI version as well as hardware implementation to study which parts of the application work best in what manner of implementation and where is the maximum computing power required. Then we shall make certain performance tweaks and run it on our speedup model.

The application we are running to implement is an FFT (Fast Fourier Transfrom) kernel. First, we are going to implement it and optimize it as much as we can on the software level. Then we shall proceed further.