Heterogeneous Computing
Software intended to be used in this context
Can arise from different hardware, compilers, compiler flags, communication layers
Communication of ft. pt. numbers between processors
Machine precision and other machine specific parameters
Iterative convergence across clusters of processors
Defensive programming required
Different results from run to run (eg from nondeterministic sums) makes debugging hard