MPI/OpenMP/High Performance Programming

  • Thread starter Thread starter Barny
  • Start date Start date
Joined
12/7/08
Messages
388
Points
53
What's the value of this in quant circles? My PhD involves doing quite a lot of optimisations to code so that it runs faster (as a very simplistic example, arranging loops for optimum memory access) and also some MPI and OpenMP. Is there any value in knowing this stuff for quant work? I assume most firms don't have big supercomputers hence MPI is largely redundant, but is it performance to have high performance code, or just code that works?
 
I also curious about this topic. I feel that its logical hedge funds start to adopt this technology. For instance, you probably need calculate the most likely path (Viberti) in your HMM whenever your data refreshes every 30 secs. A normal computer probably won't do it if you have too many states or mixtures.

My small contribution about OpenMP - In a section where I had to make calculates of an array of about 100 entries, I could easily implement OpenMP to create four loops, each looking at 25 entries of the data. It made the calculations much quicker though I had to look out for data dependencies.
 
there is nice support for parallel programming in R using MPI, so i guess some people do use it ... It is especially good when you can run some/all steps of a loop on a different CPU. Apart from that, speeding up things will always be nice good especially when can be done automatically.
 
Some other interesting libraries are Microsoft's PPL (C++), TPL (C#), Intel's TBB and Boost Thread. Some have built-in parallel design patterns which helps developer productivity.

Visual Studio 2010 has OpenMP version 2.0. PPL and OpenMP but PPL allows dynamic scheduling whereas OpenMP uses compile-time pragmas.

MPI is a standard in scientific HPC applications.
 
Back
Top Bottom