Parallel Computing Methodology in a Nutshell I
Find what machine or class of Machines you have available
Examine parallelism seemingly available in your application (algorithm) and decide on mechanism needed to exploit it.
- What is decomposition implied by algorithm
- Do we need to devise or adapt a nifty new algorithm
- Is there an “automatic” way of implementing or must it be done more or less by hand
Decide on and use programming model (HPF, MPI, Threads, openMP) and explicit realization of it
- expressivity; support for chosen machine; robustness