點(diǎn)擊查看DOIT直播專題

在IDF2013的技術(shù)課程上,來自英特爾的高級(jí)技術(shù)咨詢工程師段小平介紹了《英特爾至強(qiáng)融核協(xié)處理器編譯、調(diào)試和調(diào)優(yōu)的軟件工具》。重點(diǎn)闡述了如何使用英特爾Composer XE進(jìn)行offload編譯,以及使用英特爾VTune Amplifier XE進(jìn)行性能調(diào)優(yōu)。英特爾至強(qiáng)融核協(xié)處理器和英特爾至強(qiáng)處理器具有相同的并行編程方法,編程模型如下:

【圖】英特爾至強(qiáng)融核協(xié)處理器工具

英特爾至強(qiáng)融核協(xié)處理器平臺(tái)提供了非常豐富的工具,包括源自先進(jìn)編譯器的業(yè)界領(lǐng)先性能、全面的函數(shù)庫(kù)、并行編程模型和深入的分析工具。

【圖】英特爾至強(qiáng)融核協(xié)處理器的工具

使用英特爾Composer XE進(jìn)行offload編譯

在可運(yùn)行的主機(jī)代碼中加入指示和新的關(guān)鍵字就可以使代碼段運(yùn)行在基于英特爾集成眾核架構(gòu)(英特爾MIC架構(gòu))的協(xié)處理器上,類似于使用OpenMP指令或者Click Plus關(guān)鍵字在串行代碼中加入并行。

英特爾編譯器同時(shí)為兩種目標(biāo)架構(gòu)生成代碼,無論系統(tǒng)是否擁有協(xié)處理器生成的二進(jìn)制代碼都可以運(yùn)行,編譯器通過加入代碼來完成自動(dòng)傳輸數(shù)據(jù)到協(xié)處理器,這意味著程序員不需要編寫額外的代碼。

offload編譯器的數(shù)據(jù)傳輸時(shí),主機(jī)CPU和基于英特爾集成眾核架構(gòu)的協(xié)處理器在硬件上不共享物理或虛擬內(nèi)存。有兩種可用的數(shù)據(jù)傳輸模型:顯示拷貝和隱式拷貝。顯示拷貝是指程序員在offload progma、directive中制定需要在主機(jī)和擴(kuò)展卡之間拷貝的變量,隱式拷貝是指程序要標(biāo)記出需要在主機(jī)和擴(kuò)展卡之間共享的變量,于是相同的變量在主機(jī)和協(xié)處理器代碼中都可以使用。

使用英特爾VTune Amplifier XE進(jìn)行性能調(diào)優(yōu)

英特爾VTune Amplifier XE可以對(duì)應(yīng)用進(jìn)行分析,哪里在消耗時(shí)間?VTune Amplifier XE可以針對(duì)最長(zhǎng)時(shí)間函數(shù)進(jìn)行優(yōu)化,查看調(diào)用棧,基于遠(yuǎn)嗎查看時(shí)間開銷。哪里在浪費(fèi)時(shí)間?VTune Amplifier XE可以基于源碼查看緩存缺失區(qū),根據(jù)緩沖區(qū)缺失數(shù)據(jù)排序查看函數(shù);等待過長(zhǎng)時(shí)間?可以根據(jù)等待時(shí)間查看鎖,等待期間使用紅/綠顯示CPU使用率。

分享到

tangrong

相關(guān)推薦