Comparison of Threading Programming Models

Comparison of Threading Programming Models
复制标题

DOI:
10.1109/ipdpsw.2017.141
复制
发表时间:
2017-05
期刊:
2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)
影响因子:
--
通讯作者:
S. Salehian;Jiawen Liu;Yonghong Yan
S. Salehian;Jiawen Liu;Yonghong Yan
中科院分区:
其他
文献类型:
--
作者:
S. Salehian;Jiawen Liu;Yonghong Yan

文献摘要

被引文献

相似文献

本文比较了高性能计算中常用的线程并行编程模型,包括OpenMP、Intel Cilk Plus、Intel TBB、OpenACC、NvidiaCUDA、OpenCL、C++11和PThreads。然后,我们报告了我们的性能比较的OpenMP,Cilk Plus和C++11的数据和任务并行CPU使用基准。结果表明,性能随运行时调度策略、启用并行和同步的开销、应用程序中线程间的负载平衡和任务负载均匀性等因素而变化。本文总结和分类了支持现有和新兴计算机体系结构的线程编程API的最新发展,并提供了比较不同API所有功能的表格。它可以作为一个指南,供用户选择的API为他们的应用程序根据其功能,接口和性能报告。
In this paper, we provide comparison of languagefeatures and runtime systems of commonly used threadingparallel programming models for high performance computing, including OpenMP, Intel Cilk Plus, Intel TBB, OpenACC, NvidiaCUDA, OpenCL, C++11 and PThreads. We then report ourperformance comparison of OpenMP, Cilk Plus and C++11 fordata and task parallelism on CPU using benchmarks. The resultsshow that the performance varies with respect to factors such asruntime scheduling strategies, overhead of enabling parallelismand synchronization, load balancing and uniformity of taskworkload among threads in applications. Our study summarizesand categorizes the latest development of threading programmingAPIs for supporting existing and emerging computer architec-tures, and provides tables that compare all features of differentAPIs. It could be used as a guide for users to choose the APIsfor their applications according to their features, interface andperformance reported.