While discussions of HPC architectures have long centered on performance gains, that is not the only measure of success of HPC. The programmability of these architectures is as important as performance. Because the high heterogeneity of HPC architectures, their programmability concerns various HPC platforms: Multiprocessors, Clusters, Grid Computing, Multicores, etc. Today’s Petascale computing algorithms and applications are not structured to take advantage of these architectures. Recent studies estimate that 80-90% of applications use a single level of parallelism. Hence, it’s important to revisit old parallel programming models and languages to define parallel programming models for HPC. One approach is to use hybrid parallelism, i.e. parallelism at multiple levels with multiple programming models (MPI, OpenMP, MapReduce, Hadoop, Spark, CUDA, etc.), will be used in many applications. Hybrid parallelism may emerge because application speedup at each level can be multiplied by future architectures.
There is currently no content classified with this term.