What Comes Next?
- Expect most upcoming large systems to feature many-core processors and more complex NUMA configurations
-
MPI + OpenMP will likely remain a viable programming model for HPC
- OpenMP includes support for SIMD processing (i.e., vectorization of inner loops)
- Heterogeneous architectures, too, are supported by OpenMP, via offloading to accelerators
-
Some HPC applications might still exist only as pure-MPI or pure-OpenMP codes
- Think about upgrading to a hybrid scheme, if you haven't already
-
There are alternatives to MPI + OpenMP...
- TBB, the Threading Building Blocks library from Intel (C++ open source)
- MKL, as well as other multithreaded libraries
- CAF, a framework that handles both messaging and multithreading (C++ open source)
-
Future prospects for hybrid programming:
- Core counts will continue to increase on both processors and accelerators
- Good scaling with MPI + OpenMP will accordingly become more important
- Even more effort will be focused on process scheduling and data locality
- Expect to see more multithreaded libraries
- Be alert for these libraries' potential interaction with your own multithreading strategy
©
|
Cornell University
|
Center for Advanced Computing
|
Copyright Statement
|
Access Statement
CVW material development is supported by NSF OAC awards 1854828, 2321040, 2323116 (UT Austin) and 2005506 (Indiana University)
CVW material development is supported by NSF OAC awards 1854828, 2321040, 2323116 (UT Austin) and 2005506 (Indiana University)