×

使用不同编程框架对多核系统进行科学计算。 (英语) Zbl 1336.65073号

摘要:数值线性代数是科学计算的最重要形式之一。数值线性代数的基本计算是矩阵计算和线性系统解。这些计算被用作许多计算问题的核心。本研究使用多核编程框架演示了这些科学计算的并行化。具体来说,这里研究的框架包括Pthreads、OpenMP、Intel Cilk Plus、Intel TBB、SWARM和FastFlow。对于具有多个参数的并行科学计算,还提出了统一的探索性性能评估和这些框架的定性研究。在大中型规模实现矩阵运算时,OpenMP和SWARM模型在与编译器优化并行运行时产生了良好的结果,而其余模型在某些矩阵运算中表现不佳。定性结果表明,OpenMP、Cilk Plus、TBB和SWARM框架需要最少的编程工作量,而其他模型需要高级编程技能和经验。最后,在扩展研究的基础上,得出了关于规划模型和一些参数的矩阵运算的一般结论。

MSC公司:

65楼30 其他矩阵算法(MSC2010)
第65年 并行数值计算
65岁20岁 数值算法的复杂性和性能
6504年 计算机算术的数值算法等。
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 阿古洛,E。;德梅尔,J。;Dongarra,J。;哈德里,B。;Kurzak,J。;Langou,J。;Ltaief,H。;Luszczek,P。;Tomov,S.,新兴体系结构的数值线性代数:等离子体和MAGMA项目,物理学杂志。Conf.序列号。,180, 1, 012037 (2009)
[2] 阿尔迪努奇,M。;丹拉托托,M。;Kilpatrick,P。;Meneghin先生。;Torquati,M.,用FastFlow加速多核代码,(第17届并行处理国际会议论文集——第二卷。第17届国际并行处理会议论文集第二卷,Euro-Par'11(2011),Springer-Verlag:Springer-Verlag Berlin,Heidelberg),170-181
[3] 奥尔迪努奇,M。;丹拉托托,M。;Kilpatrick,P。;Torquati,M.,《FastFlow:多核上的高水平高效流媒体》(Programming multi-core and Many-core Computing Systems,2011),威利出版社)
[4] 奥尔迪努奇,M。;梅内金,M。;Torquati,M.,Efficient Smith-Waterman on multi-core with FastFlow,(《第18届欧洲微公司并行、分布式和基于网络的处理国际会议论文集》,《第18次欧洲微公司平行、分布式和网络处理国际会议文献集》,PDP(2010)),195-199
[5] A.阿里。;Dastgeer,美国。;Kessler,C.,用于共享内存多核CPU编程的OpenCL(2012年HiPEAC-2012年MULTIPROG-2012研讨会论文集)
[7] 安德森,E。;Bai,Z。;比肖夫,C。;布莱克福德,L.S。;德梅尔,J。;Dongarra,J.J。;杜克罗兹,J。;Hammarling,S。;格林鲍姆,A。;麦肯尼,A。;Sorensen,D.,《LAPACK用户指南》(1999年),工业和应用数学学会:美国宾夕法尼亚州费城市工业与应用数学学会·Zbl 0934.65030号
[8] 伊瓜德,E。;北卡罗来纳州科普提。;杜兰,A。;霍夫林格,J。;Lin,Y。;马萨奥利,F。;特鲁尔,X。;Unnikrishnan,P。;Zhang,G.,OpenMP任务的设计,IEEE Trans。并行分配系统。,20, 3, 404-418 (2009)
[9] Bader,D.A。;卡纳德,V。;Madduri,K.,SWARM:多核处理器的并行编程框架,(并行与分布式处理研讨会,并行与分布式加工研讨会,IPDPS 2007(2007)),1-8
[10] 巴雷特·R。;贝里,M。;Chan,T.F。;德梅尔,J。;多纳托,J。;Dongarra,J。;埃伊霍特,V。;波佐,R。;罗明,C。;der Vorst,H.V.,《线性系统解的模板:迭代方法的构建块》(1994),SIAM:SIAM Philadelphia,PA
[11] M.伯克。;扎普夫,M。;Balzer,M。;Ruiter,N。;Becker,J.,基于GPU和FPGA的三维超声计算机断层扫描反射图像重建加速的综合比较,J.实时图像处理。,1-12 (2012)
[12] 布莱尔,H。;莱格勒,M。;Rauber,T.,科学计算中线程并行Java程序的效率,(第16届国际并行和分布式处理研讨会论文集。第16届世界并行和分布式加工研讨会论文集,IPDPS’02(2002),IEEE计算机学会:IEEE计算机社会,美国华盛顿特区),131
[13] 布莱克福德,L.S。;Choi,J.等人。;克利里,A。;D’Azeuedo,E。;德梅尔,J。;迪隆,I。;Hammarling,S。;亨利,G。;佩蒂特,A。;斯坦利,K。;Walker博士。;Whaley,R.C.,《ScaLAPACK用户指南》(1997),美国宾夕法尼亚州费城工业与应用数学学会·Zbl 0886.65022号
[14] 布鲁莫夫,R.D。;Joerg,C.F。;库兹摩尔,公元前。;Leiserson,C.E。;Randall,K.H。;Zhou,Y.,Cilk:一个高效的多线程运行时系统,(第五届ACM SIGPLAN并行编程原理与实践研讨会论文集。第五届APM SIGPLAN并行编程原理和实践会议论文集,PPoPP,Santa Barbara,California(1995)),207-216
[15] Bull,J.M.,《衡量OpenMP中的同步和调度开销》,(OpenMP第一次欧洲研讨会论文集(1999)),99-105
[16] Buttari,A。;Dongarra,J。;丈夫,P。;Kurzak,J。;Yelick,K.,矩阵分解中同步容差的多线程,J.Phys。Conf.序列号。,78 (2007)
[17] Buttari,A。;Langou,J。;Kurzak,J。;Dongarra,J.,多核结构的一类并行分片线性代数算法,并行计算。,35, 1, 38-53 (2009)
[18] 黄油,D。;法雷尔,J。;Nichols,B.,《PThreads Programming:A POSIX Standard for Better Multiprocessing》(1996年),O'Reilly Media出版社
[19] 坎通纳,M.Z.F。;姚,Y。;El-Ghazawi,T.,UPC语言的生产力分析(第18届并行和分布式处理国际研讨会(2004))
[20] Chellapilla,K。;普里,S。;Simard,P.,《用于文档处理的高性能卷积神经网络》(Lorette,G.,第十届手写识别前沿国际研讨会(2006),雷恩大学1,苏维索夫:雷恩大学一,苏维索夫-拉博尔大学(法国))
[21] Deepak Shekhar,T。;瓦拉甘蒂,K。;苏雷什,R。;加格·R。;Ramamoorthy,R.,《多核架构的并行编程模型比较》,(IEEE并行与分布式处理研讨会和博士论坛国际研讨会论文集。IEEE并行和分布式处理研讨会与博士论坛国际会议论文集,IPDPSW(2011),1675-1682
[22] Demmel,J.W.,《应用数值线性代数》(1997),工业和应用数学学会·Zbl 0879.65017号
[23] 迪亚兹,J。;Munoz-Caro,C。;Nino,A.,《多核心和多核心时代的并行编程模型和工具综述》,IEEE Trans。并行分配系统。,23, 8, 1369-1386 (2012)
[24] Faxén,K.-F.,Wool——一个偷作品的图书馆,Comput。阿基特。新闻,36,5,93-100(2009)
[25] 弗里戈,M。;Leiserson,C.E。;普罗科普,H。;Ramachandran,S.,Cache-obliovious算法,ACM Trans。算法,8,1,4:1-4:22(2012)·Zbl 1295.68236号
[26] 弗里戈,M。;Strumpen,V.,多线程缓存遗忘算法的缓存复杂性,理论计算。系统。,45, 2, 203-233 (2009) ·Zbl 1183.68721号
[27] Gentle,J.,《矩阵代数:统计学的理论、计算和应用》,《统计学中的Springer文本》(2007),Springer·Zbl 1133.15001号
[28] Golub,G。;Van Loan,C.,《矩阵计算》(1989),约翰霍普金斯大学出版社·Zbl 0733.65016号
[29] Gomez-Pulido,J。;Vega-Rodriguez,M。;桑切斯·佩雷斯,J。;Priem-Mendes,S。;Carreira,V.,《加速进化算法中的浮点适应度函数:FPGA-CPU-GPU性能比较》,Genet。程序。埃沃。机器。,12, 4, 403-427 (2011)
[30] Goto,K。;Geijn,R.A.v.d.,《高性能矩阵乘法剖析》,ACM Trans。数学。软质。,34, 3, 12:1-12:25 (2008) ·Zbl 1190.65064号
[31] 格拉玛,A。;Karypis,G。;库马尔,V。;Gupta,A.,《并行计算导论》(2003),培生教育:培生教育Addison-Wesley
[32] Gray,A.G.,《快速核矩阵向量乘法及其在高斯过程回归中的应用》(2004),卡内基梅隆大学,技术报告
[33] Grozea,C。;班科维奇,Z。;Laskov,P.,FPGA与多核CPU与GPU之比较:分拣应用程序的实践经验,(Keller,R.;Kramer,D.;Weiss,J.-P.,《面对多核挑战》,《计算机科学讲义》,第6310卷(2010),施普林格:施普林格柏林,海德堡),105-117
[34] Gunnels,J。;Lee,J。;Margulies,S.,《非线性组合优化并行结构上的高效高精度矩阵代数》,数学。程序。计算。,2, 2, 103-124 (2010) ·兹比尔1200.65045
[35] 霍奇斯坦,L。;卡弗,J。;舒尔,F。;Asgari,S。;巴西利五世。;霍林斯沃斯,J.K。;Zelkowitz,M.V.,《并行程序员生产力:新手并行程序员的案例研究》,(2005年ACM/IEEE超级计算会议论文集。2005年ACM/IEEE超级计算机会议论文集,SC'05(2005),IEEE计算机学会:IEEE计算机协会,美国华盛顿特区),35
[41] Kasim,H。;三月五日。;张,R。;参见,S.,《并行编程模型调查》(IFIP网络与并行计算国际会议论文集。IFIP网络和并行计算国际大会论文集,NPC’08(2008),Springer-Verlag:Springer-Verlag Berlin,Heidelberg),266-275
[42] 凯格尔,P。;谢尔曼,M。;Gorlatch,S.,《比较多核系统上医学成像的编程模型》,Concurr。计算。,实际。有效期:23,101051-1065(2011年)
[43] Kesturt,S。;Davis,J。;Williams,O.,BLAS对FPGA、CPU和GPU的比较,(2010 IEEE VLSI年会论文集。2010 IEEE VLSI年会论文集中,ISVLSI’10(2010),IEEE计算机学会:IEEE计算机协会,美国华盛顿特区),288-293
[44] Kurzak,J。;Ltaief,H。;Dongarra,J。;Badia,R.M.,《在多核处理器上调度密集线性代数操作》,Concurr。计算。,实际。实验,22,1,15-44(2010年)
[45] Li,X.S.,多核体系结构上超级LU的评估,J.Phys。Conf.序列号。,125, 1, 012079 (2008)
[46] Luff,M.,《实证研究并行编程范式:一个空结果》(《编程语言和工具的评估和可用性研讨会》,《编程语言与工具的评估与可用性研讨会,高原》(2009))
[47] Marowka,A.,《CMP并行开销的实证分析》,(《第八届并行处理与应用数学国际会议论文集:第一部分:第八届平行处理和应用数学国际大会论文集:第I部分,PPAM’09(2010),Springer-Verlag:Springer-Verlag Berlin,Heidelberg), 596-605
[49] McCool,M。;Reinders,J。;Robison,A.,《结构化并行编程:高效计算的模式》(2012),Elsevier Science
[50] McGinn,S.F。;Shaw,R.E.,使用OpenMP和MPI进行并行高斯消去,(第16届高性能计算系统和应用国际研讨会论文集。第16届国际高性能计算体系和应用研讨会论文集,HPCS’02(2002),IEEE计算机学会:IEEE计算机协会(美国华盛顿特区),169-173
[51] Membarth,R。;Hannig,F。;Teich,J。;科纳,M。;Eckert,W.,《多核体系结构的框架:使用2d/3d图像注册的综合评估》,(Berekovic,M.;Fornaciari,W.;Brinkschulte,U.;Silvano,C.,《计算系统体系结构》,计算系统体系,ARCS 2011。计算系统架构。计算系统体系结构,ARCS 2011,《计算机科学讲义》,第6566卷(2011年),施普林格:施普林格柏林,海德堡),62-73
[52] Michailidis,P.D。;Margaritis,K.G.,使用OpenMP在多核上通过流水线实现并行LU因式分解,(2010年第13届IEEE计算科学与工程国际会议论文集。2010年第十三届IEEE国际计算科学与工程学会议论文集,CSE’10(2010),IEEE计算机协会:美国华盛顿特区IEEE计算机协会),253-260
[53] Michailidis,P.D。;Margaritis,K.G.,使用OpenMP在多核处理器上进行矩阵计算的性能模型,(并行和分布式计算应用与技术国际会议论文集(2010),IEEE计算机学会:IEEE计算机协会,加利福尼亚州洛斯阿拉米托斯,美国),375-380
[54] Michaelidis,医学博士。;Margaritis,K.G.,用于求解线性方程组的Gauss-Jordan方法的开放式多重处理(OpenMP),(IEEE第11届国际计算机和信息技术会议论文集。IEEE第十一届国际计算机与信息技术会议文献集,CIT(2011)),314-319
[55] Michailidis,P.D。;Margaritis,K.G.,用于基本矩阵计算的一些多核编程工具的计算比较,(第九届IEEE嵌入式软件和系统国际会议(HPCC-ICESS)和IEEE第十四届高性能计算与通信国际会议(2012)论文集),143-150
[56] Michailidis,P.D。;Margaritis,K.G.,在多核上实现线性代数的基本计算内核,(第16届泛希腊信息学会议论文集(2012),IEEE计算机学会:IEEE计算机协会洛斯阿拉米托斯,加利福尼亚州,美国),217-222
[57] Michailidis,P.D。;Margaritis,K.G.,《使用多核编程工具进行矩阵计算的性能研究》,(Ivanovic,M.;Budimac,Z.;Radovanovic,M,《第五届巴尔干信息学会议论文集》(2012),ACM),186-192年
[58] Podobas,A。;Brorsson,M.,《一些最近基于任务的并行编程模型的比较》,(多核计算机可编程性问题第三次研讨会论文集。多核计算机编程性问题的第三次会议论文集,MULTIPROG’2010年1月,Pisa(2010))
[59] Rauber,T。;Rünger,G.,《并行编程——多核和集群系统》(2010),Springer·Zbl 1211.68073号
[60] Ravela,S.,《基于共享内存的并行编程模型比较》(2010年),比京理工学院,硕士论文
[61] Reinders,J.,Intel Threading Building Blocks-Outfitting C++for Multi-Core Processor Parallelism(2007),O'Reilly
[62] Rünger,G。;Schwind,M.,多核架构的快速递归矩阵乘法,Proc。CS,1,1,67-76(2010)
[63] 萨多夫斯基,C。;Shewmaker,A.,《最后一英里:并行编程和可用性》,(软件工程研究未来FSE/SDP研讨会论文集。软件工程研究的未来FSE/SDP研讨会文献集,FoSER’10(2010),ACM:美国纽约州纽约市ACM),309-314
[64] 桑切斯,L。;费尔南德斯,J。;Sotomayor,R。;Garcia,J.,共享内存体系结构并行编程模型的比较评估,(IEEE第十届应用程序并行和分布式处理国际研讨会论文集。IEEE第10届应用程序平行和分布式处理世界研讨会论文集,ISPA(2012),363-370
[65] Steeb,W.-H。;哈迪,Y。;A.哈代。;Stoop,R.,《使用C++和Java模拟进行科学计算的问题与解决方案》(2004),世界科学出版公司:世界科学出版有限公司,美国新泽西州River Edge·Zbl 1058.68125号
[66] Szafron,D。;Schaeffer,J.,《衡量并行编程系统可用性的实验》,Concurr。计算。,实际。实验,8,2,147-166(1996)
[67] 塔米尔,D。;摇晃,N。;Geerts,W。;Dolev,S.,使用电光矢量矩阵乘法架构的组合优化问题的并行分解,超级计算。,62, 2, 633-655 (2012)
[69] van de Geijn,R.A.,《使用PLAPACK:并行线性代数包》(1997年),麻省理工学院出版社:麻省理学院出版社,美国马萨诸塞州剑桥
[70] Wolf先生。;Heath,M.T.,有限元装配中矩阵-向量乘法的组合优化,SIAM J.Sci。计算。,31, 4, 2960-2980 (2009) ·兹比尔1195.65060
[71] 邹,D。;Dou,Y。;Xia,F.,Smith-Waterman算法在CPU、GPU和FPGA上的优化方案和性能评估,Concurr。计算。,实际。有效期:24,141625-1644(2012年)
[72] 扎克曼,S。;Pérache,M。;Jalby,W.,多核上的微调矩阵乘法,(《第十五届高性能计算国际会议论文集》,第十五届国际高性能计算会议论文集,HiPC’08(2008),Springer-Verlag:Springer-Verlag Berlin,Heidelberg),30-41
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。