信息工程大学学报
信息工程大學學報
신식공정대학학보
JOURNAL OF INFORMATION ENGINEERING UNIVERSITY
2015年
2期
225-233
,共9页
刘晓娴%赵荣彩%韩林%李雁冰
劉曉嫻%趙榮綵%韓林%李雁冰
류효한%조영채%한림%리안빙
自动并行化%OpenMP%DSWP
自動併行化%OpenMP%DSWP
자동병행화%OpenMP%DSWP
多核处理器能够提升多线程程序的性能,但早已存在的诸多单线程程序无法从中获益,程序员也习惯于编写单线程程序.自动并行化技术是将单线程程序移植到多核上的重要手段,但是当循环中存在无法确定的数据依赖或复杂的控制流时,传统的自动并行化技术无法取得良好效果.decoupled software pipelining(DSWP)算法针对传统自动并行失败的循环实现了指令级的细粒度并行,但是需要对处理器体系结构和指令集的深入了解,对其并行性能和应用广泛性带来限制.通过对DSWP算法进行改进,提出了基于OpenMP的DSWP自动并行算法.该算法增大了并行粒度,使用OpenMP并行应用编程接口实现并行,不再依赖具体的体系结构,实现了DSWP算法的应用扩展.通过对基准测试集NPB3.3.1的测试表明,传统自动并行失败的循环,经文章算法并行后在双核处理器上平均加速比达到1.23以上;使用添加了文章算法的Open64编译器生成的并行程序,与仅使用传统自动并行方法的Intel编译器和Open64编译器所得程序相比,平均加速比分别高出22%和26%.
多覈處理器能夠提升多線程程序的性能,但早已存在的諸多單線程程序無法從中穫益,程序員也習慣于編寫單線程程序.自動併行化技術是將單線程程序移植到多覈上的重要手段,但是噹循環中存在無法確定的數據依賴或複雜的控製流時,傳統的自動併行化技術無法取得良好效果.decoupled software pipelining(DSWP)算法針對傳統自動併行失敗的循環實現瞭指令級的細粒度併行,但是需要對處理器體繫結構和指令集的深入瞭解,對其併行性能和應用廣汎性帶來限製.通過對DSWP算法進行改進,提齣瞭基于OpenMP的DSWP自動併行算法.該算法增大瞭併行粒度,使用OpenMP併行應用編程接口實現併行,不再依賴具體的體繫結構,實現瞭DSWP算法的應用擴展.通過對基準測試集NPB3.3.1的測試錶明,傳統自動併行失敗的循環,經文章算法併行後在雙覈處理器上平均加速比達到1.23以上;使用添加瞭文章算法的Open64編譯器生成的併行程序,與僅使用傳統自動併行方法的Intel編譯器和Open64編譯器所得程序相比,平均加速比分彆高齣22%和26%.
다핵처리기능구제승다선정정서적성능,단조이존재적제다단선정정서무법종중획익,정서원야습관우편사단선정정서.자동병행화기술시장단선정정서이식도다핵상적중요수단,단시당순배중존재무법학정적수거의뢰혹복잡적공제류시,전통적자동병행화기술무법취득량호효과.decoupled software pipelining(DSWP)산법침대전통자동병행실패적순배실현료지령급적세립도병행,단시수요대처리기체계결구화지령집적심입료해,대기병행성능화응용엄범성대래한제.통과대DSWP산법진행개진,제출료기우OpenMP적DSWP자동병행산법.해산법증대료병행립도,사용OpenMP병행응용편정접구실현병행,불재의뢰구체적체계결구,실현료DSWP산법적응용확전.통과대기준측시집NPB3.3.1적측시표명,전통자동병행실패적순배,경문장산법병행후재쌍핵처리기상평균가속비체도1.23이상;사용첨가료문장산법적Open64편역기생성적병행정서,여부사용전통자동병행방법적Intel편역기화Open64편역기소득정서상비,평균가속비분별고출22%화26%.