I don't know much about MFE programs myself. I guess you could learn some advanced computing at school. In my experience the best way to learn supercomputing is by doing it yourself. I went to a PhD program in physics and mostly nobody is there to guide you through every step. It is tough at the beginning, but once you get the hang of it, i am sure you won't have a problem.
I guess you want to learn this for quant finance applications. I am guessing that you don't have previous knowledge on programming, do you?. Start by simulating a simple Wienner process in C++. I can give you the code if you like, but the idea is that you do it by yourself.
Can someone enlighten me about High Performance Computing? Do we get to learn from any MFE program? Thanks.
HPC is a big area, you need to define what you mean? multi-threading, parallel, shared versus distributed memory etc.
I doubt if any MFE gives HPC courses (and I don't think it's part of its core business). It is possible to write a Hello Wurld program but a thread-safe, data corruption free and speedup production code is years away.
And you need *very* good knowledge of C++ (and hardware) before jumping onto the HPC wagon. Most MFEs do not do 'sequential' C++ as far as I know. And this is an industry standard.
A free and good way to start is OpenMP or boost Thread.
Like Lugh said, HPC is a big area and can be performed in many ways. Depending on what you are trying to achieve you have different possibilities. For example, if you are looking to speed up Monte Carlo simulations, GPU might be an option. Other type of parallel programming pattern like MapReduce can help you to speed up certain king of processing. Then you have things like FPGA, or Clusters. When trying to speed up things, most of the time you have to adapt your programming style to the machine architecture. I know it is kind of generic as an answer, but it is simply because performance can be obtained is so many ways. I would say that it should always start with good programming habits.
Regarding the application to quant finance, HPC is used to speed up computing time in order to obtain the closest thing possible to instantaneous calculation. This is very used in HF trading, and derivatives pricing. In HF trading the need for HPC is on the full range of the application, so you have needs for data mining related operations, heavy computing algorithms, I/O, network. For derivative pricing speed is usually obtained through grid computing. There are probably more things to say that I am not aware of. From what I understand if you work as quant for a big IB, you don't need to know these things, as you will have a team dedicated to address these issues. You probably need to know more about it, if you plan to work for a smaller firm.
Don't know you if you're trying to be ironic here, but actually above is mostly true. For example, if you're up to getting any kind of performance from your x86 node, you simply have to deal with SSE (either through inline assembly, or using compiler intrinsics). And even if you are dealing with something that is much nicer for programming for performance than x86, like CUDA for example, knowledge of corresponding assembly language (PTX in this particular case), could be in my experience very helpful from time to time.
Fortran job market is doing very well, at least in my experience, that is in turn mostly in the domains (computational electromagnetics, neutron transport, molecular dynamics) that are probably involved much longer with the HPC (I use this term in kind of its "traditional" meaning, which would be closely related to scientific computations) than what is the case with quantitative finances. There exist many scientific Fortran codes that are still actively maintained, and lots of new code get written in Fortran too. And to further perceive how vibrant is Fortran community, you could for example take a look into which is the only language besides C that is possible to use for CUDA programming - it's Fortran, in the Portland Group implementation (http://www.pgroup.com/resources/cudafortran.htm). Now, don't get me wrong - C++ certainly has its own strengths, but languages like C or Fortran are much more meaningful for numerical/parallel programming, so I'll stick with my (outsider, admittedly) impression that C++ is heavily overused by quantitative finances community, at least for these particular purposes.