Hacker News new | ask | show | jobs
by khadgar25 1852 days ago
I worked in a Scientific Computing team for a few years. Having some engineering background yourself and the curiosity to actually understand the code rather than "just port" it to C++ or Fortran will be more helpful. As others have mentioned, there is no one book or silver bullet but developing a good relation with the research team is a good starting point. Researchers love to talk and explain their stuff but often don't consider the scalability very well.

MPI is the usual backbone in parallelizing scientific applications so unless you have experience with it, getting some familiarity will be helpful. A good resource is Parallel Programming with MPI by Pacheco. MPI itself is not very hard but thinking parallel can be challenging unless you have some experience.

Just a word of caution though, well written MATLAB code is very hard to beat performance. You will need to carefully understand latency and bandwidth aspects of the cluster in order to get the most benefits out of parallelization.