Pitfalls I
Pitfalls I
- Replacing a good sequential algorithm with a terrible parallel one
- Classic example is using Jacobi iteration instead of hierarchically-preconditioned conjugate gradient
- Assuming floating point associative
- common mistake for all-reductions
- Lack of bitwise-identical results
- For example, don’t assume that each process will compute exactly the same values given the same data unless you can guarantee the same order and intermediate forms (beware compilers!)