Previous | Next --- Slide 38 of 48
Back to Lecture Thumbnails

One possible reason that today's software is inefficient is that code that exploits hardware architectures are not portable. For example, one piece of efficient MPI code on this cluster may be inefficient on another cluster, since the communication pattern will be different, etc. If it's difficult to write efficient and portable code, softwares might trade this efficiency off for simplicity.