Over at the GentryX Blog, Andreas Schäfer writes that while MPI is the most widely used programming model in HPC, its inflexibility is giving away its age and contenders are flexing their muscles.
MPI is not becoming easier to use, but harder. The voodoo dance an ordinary user has to complete to max out e.g. perfectly ordinary two-socket, 16-core nodes is inane:
- Polling MPI for asynchronous progress,
- Using a custom locking regime to funnel MPI calls into one thread,
- Pack data into arbitrary chunks to skirt the limitations of 32-bit ints.
- Previously usable and useful features are being removed, sometimes confusing, sometimes even alienating users.
- Trivial changes (e.g. the use of size_t) seem next to impossible to implement.
Combined, these stinks indicate that the MPI user experience is getting worse.
Read the Full Story.