999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析并行計算編程技術

2016-07-09 09:57:54曾升謝鵬張瑾
數字技術與應用 2016年6期
關鍵詞:調試

曾升 謝鵬 張瑾

摘要:計算機技術的不斷發展也推動了各行各業對性能和運算需求的增加,各種規模龐大、運算復雜的應用也相繼問世,不同的并行計算編程技術和開發模式得到廣大開發者的認同。本文從并行計算編程技術的概念分析開始,介紹了當前主流的并行計算編程技術開發模式,并詳細描述了CUDA框架的GPU并行技術方法,旨在對并行程序的運行、調試有初步的認識,也能讓開發者根據自身編程特點和應用場景選擇合適的并行計算編程技術,提高開發效率。

關鍵詞:并行計算 編程 高性能 GPU開發 調試

中圖分類號:TP311.11 文獻標識碼:A 文章編號:1007-9416(2016)06-0243-01

1 并行計算編程技術概念介紹和研究方法

所謂并行計算編程,就是通過高性能計算機,實現計算的并行處理,它也是反映高性能計算和超級計算的一項重要指標。長期以來,通過并行計算編程求解的過程主要表現為:給定一個應用,首先將其轉化為數值計算范疇;隨后為該數值計算設計一套并行算法,通過編程語言的方式進行實現;最后借助于高性能計算機執行該程序以獲得應用的求解,因此,并行計算編程主要包括高性能計算機、并行算法、并行處理程序、并行應用這幾個方面,涉及包括計算機、軟件工程、數學邏輯等多個領域。

2 并行計算編程技術開發模式

(1)OpenMP。目前在并行計算編程技術中,OpenMP已經是業內比較流行的內存模型開發的標準,它具備完善的編譯指導代碼,被廣泛運用于并行程序處理、數據私有化或共享等操作,旨在將移植性高和擴展性強的開發接口提供給SMP系統[1]。OpenMP新標準在1997年開始被OpenMP Architecture Review Board所提出,目前已經更新到2.0版本。

OpenMP的開放接口能夠給多處理平臺的共享內存提供并行計算機制,也廣泛被應用于高性能計算系統架構,比如微軟、UNIX等,它還可以通過編譯器指令與庫函數結合的方式為開發者提供C/C++或FORTRAN的多線程創建應用。OpenMP的優勢體現在多耗時循環應用當中,它首先將一個任務以多線程的形式劃分,并通過fork-join的并行機制將程序在完成順序執行后,轉換為并行執行程序。開發者在使用OpenMP時,可以建立良好的循環級實現多處理并行機制,將任務通過分解成多個數據共享的任務,并確定相互間的依賴性,通過并行計算編程機制來實現任務的并行處理。

(2)并行庫。并行庫的推行大大提高了高性能并行計算處理效率,它集成了并行計算編程中通用的邏輯代碼,并封裝成庫的形式供用戶使用,它是完全開源的。一般來說,編寫庫函數的開發者都擁有較豐富的開發經驗,在代碼邏輯性上效率會比較高,同時編譯器采用優化編譯,這就使得庫函數擁有很高的執行效率,對大多數開發者而言,并行庫為他們提供了一種高效便捷的開發模式[2]。

3 GPU并行計算編程技術方法

GPU的作用是優化并行多線程程序的吞吐量,這種特性也讓GPU的處理核心要比傳統CPU更多,這種眾核架構計算能力也更強,非常適用于大規模的并行計算,GPU在執行指令和獲取數據時是通過CPU的PCI-E借口進行的。計算和存儲兩部分是GPU的架構特征,其中計算部分中的多個流處理器負責指令的計算和執行,而存儲部分則是數據存儲的內存。這種硬件架構也反映了GPU編程主要是由內存管理和并行計算兩部分。

NVIDIA公司的合作廠商PGI推出一套CUDA Fortran編程語言,它是專門針對Fortran用戶所設計開發的,并還在不斷地更新迭代。CUDA Fortran的編程模式類似于CUDA C/C++,都有一個通用編譯器,在開發過程中也能通過插件或命令來訪問CUDA庫,比如cuBLAS等,并兼容目前主流的操作系統windows、Linux和MacOS等。在EDA工具的支持上,CUDA Fortran也可以在主流工具Visual Studio和Eclipse中通過插件的形式安裝。CUDA Fortran不可以直接通過進入調試模式進行調試,若想調試先要通過選項-Mcuda=emu將模擬器模式開啟,即用CPU來模擬GPU,然后通過CPU的調試器來進行模擬調試工作。

CUDA Fortran在開發之前需要安裝開發套件,這些可以在PGI CUDA Fortran官網上下載,目前的版本已經更新到PGI Release2015,該開發套件包含了GPU編程開發的多種工具:如pgfortran編譯器(用于CUDA Fortran)、pgcc編譯器(用于OpenACC)、pgcpp編譯器(用于CUDA-x86)、以及分析和調試器等。CUDA Fortran將CUDA GPU編程很好地集成在Fortran當中,如果開發者具備CUDA C/C++開發能力,則只需學習基本的Fortran語法即可開始開發工作,在應用方面,異構計算,如內存共享、多線程并發、向量計算等在CUDA Fortran中得到高效地應用。例如,在進行GPU并行編程計算時,可以通過device關鍵字分配變量在GPU當中,并通過allocate和deallocate來完成內存的分配和釋放,并且,CPU和GPU在內存傳輸過程中只需要用賦值符號“=”操作即可,無需動用其他函數。

4 結語

隨著并行計算編程技術的日益發展,各種通用的開發模式和開發方法逐漸被人們所熟悉,開發者和各類專家學者也往相關方面在積極探索,有些已經取得了不錯的成果。面對日益成熟的并行計算編程技術,本文旨在幫助開發者了解當前主流的并行計算編程技術開發模式和調試方法,能夠讓開發者可以在繁多的工具技術中找到適合自己的開發模式,更高效地利用工具完成開發任務。

參考文獻

[1]都志輝.高性能計算之并行編程技術--MPI 并行程序設計.北京:清華大學出版社,2001.

[2]陳國良.并行算法的設計與分析.北京:高等教育出版社,2002.

猜你喜歡
調試
基于航拍無人機的設計與調試
電子制作(2018年12期)2018-08-01 00:47:44
燃氣輪機發電機組運行調試
FOCAS功能在機床調試中的開發與應用
核電廠主給水系統調試
中國核電(2017年1期)2017-05-17 06:10:11
無線通信中頻線路窄帶臨界調試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
調壓柜的調試與試運行探討
工業電氣設備控制系統的安裝與調試
音頻處理器的調試
同期繼電保護調試中出現的問題及處理
基于JTAG的SoC片上調試系統設計
主站蜘蛛池模板: 91www在线观看| 国产理论精品| 亚洲天堂.com| 亚洲另类第一页| 欧美一级在线看| 国产一区二区影院| 性激烈欧美三级在线播放| 久青草国产高清在线视频| 在线国产欧美| 亚洲视频一区| 特级毛片8级毛片免费观看| 亚洲男人天堂2020| 国产成人久久777777| 国产爽歪歪免费视频在线观看| 天天色综网| 欧美人与牲动交a欧美精品| 永久在线精品免费视频观看| 精品国产电影久久九九| 青青青视频蜜桃一区二区| 亚洲精品动漫在线观看| 香蕉国产精品视频| 伊人色婷婷| 国产真实自在自线免费精品| 国产精欧美一区二区三区| 露脸国产精品自产在线播| 久久这里只有精品国产99| 亚洲欧美成人在线视频| 熟女成人国产精品视频| 2048国产精品原创综合在线| 欧美激情视频在线观看一区| 日韩美毛片| 国产jizz| 亚洲国产综合自在线另类| 亚洲精品欧美日本中文字幕| 嫩草国产在线| 精品伊人久久久大香线蕉欧美 | 国产无码精品在线播放| 日本黄色不卡视频| 国产农村精品一级毛片视频| 99ri精品视频在线观看播放| 日本不卡在线播放| 四虎精品黑人视频| 国产欧美专区在线观看| AV不卡国产在线观看| 熟妇人妻无乱码中文字幕真矢织江 | 亚洲AV无码乱码在线观看裸奔| 色综合久久久久8天国| 亚洲一区二区无码视频| 亚洲aaa视频| 欧美一级大片在线观看| 中文一级毛片| 久久国产热| 黄色三级网站免费| 欧美日韩国产在线观看一区二区三区 | 免费人成视网站在线不卡| 国产在线观看成人91| 成人日韩视频| 色婷婷国产精品视频| 91 九色视频丝袜| 九九热精品在线视频| 999国产精品永久免费视频精品久久| 波多野结衣一区二区三视频| 少妇人妻无码首页| 精品一区二区三区中文字幕| 国产丝袜一区二区三区视频免下载| 亚洲a级毛片| 国产美女在线免费观看| 免费看黄片一区二区三区| 精品视频一区在线观看| 97超级碰碰碰碰精品| 98超碰在线观看| 欧洲在线免费视频| 性激烈欧美三级在线播放| 色网站在线免费观看| 国产精品女同一区三区五区| 午夜视频日本| 亚洲精品国产日韩无码AV永久免费网 | 精品福利视频网| 国产精品极品美女自在线看免费一区二区| 亚洲A∨无码精品午夜在线观看| 午夜无码一区二区三区| 亚亚洲乱码一二三四区|