Comparison of Threading Programming Models
Comparison of Threading Programming Models
复制标题
DOI:
10.1109/ipdpsw.2017.141
复制
发表时间:
2017-05
期刊:
影响因子:
--
通讯作者:
S. Salehian;Jiawen Liu;Yonghong Yan
中科院分区:
文献类型:
--
作者:
S. Salehian;Jiawen Liu;Yonghong Yan
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.