GPCBenchMarkOCL - 支援GPU的OpenCL通用計算測試工具

TAS

"人"生淫家...
已加入
2009/03/16
訊息
3,987
互動分數
18
點數
38



支援GPU的OpenCL通用計算測試程序OpenCL General Purpose Computing Benchmark (簡稱GPCBenchMarkOCL)是由大陸幾名高性能計算從業人員和愛好者合作編寫的,目的是為了評估在不同的OpenCL平台上一些基本算法和應用的性能。

與目前流行的一些OpenCL、DirectCompute通用計算測試程序的不同在於,目前這些測試程序測試項目過於單一,基本上就是某一兩種算法的性能測試,甚至乾脆就是理論峰值計算性能的測試。而實際上,OpenCL計算設備包括GPU的計算性能是受非常多因素影響的,除了計算單元的頻率和數量之外,還有計算單元架構、Global memory(顯存)頻寬、Local memory(GPU內的片上存儲器,NVIDIA稱為Shared memory,AMD稱為Local Data Share)頻寬和Bank conflict、存儲器合併存取情況、存儲器同步成本、緩存等各種因素。

因此某些紙面計算性能非常高的GPU執行某些計算時性能卻不一定好;又或者,某GPU在執行某種計算時雖然性能落後於另一架構的GPU,但是在執行另一種計算時性能反而超前。GPCBenchMarkOCL集合了高性能計算領域多種常見的基礎算法和應用,能比較全面地評估GPU及其它OpenCL計算設備在通用計算應用中的性能。


目前GPCBenchMarkOCL的測試項目包括:
1、Global Memory頻寬(讀、寫、拷貝以及PCI-E總線頻寬) - 主要考察不同傳輸尺寸下各種訪存操作的性能
2、Local Memory頻寬(帶寬和Bank conflict) - 分析Local memory帶寬與數據類型、Bank conflict的關係
3、32位整數性能(加法、乘法、乘加和位運算) - 分析處理器32位整數處理性能
4、單精度浮點性能(加法、乘法、乘加和特殊函數如sqrt、sin等) - 分析處理器單精度浮點數處理性能
5、雙精度浮點性能(加法、乘法、乘加和特殊函數如sqrt、sin等) - 分析處理器雙精度浮點數處理性能
6、常用計算(單精度和雙精度浮點的大矩陣乘法、大矩陣轉置、歸約、DCT8x8) - 分析處理器在進行一些常用矩陣與信號處理運算中的表現
7、圖像處理(亮度直方圖、2維卷積、降噪、雙立方插值縮放) - 分析處理器在進行一些常用圖像處理中的表現
8、密碼學(目前只有SHA-1 Hash Loop,以後將加入盒型加密和彩虹表) - 分析處理器在密碼學應用中的性能

在GPCBenchMarkOCL中,所有測試都會在CPU和GPU(包括其它OpenCL設備)上運行並給出性能結果,不過CPU上運行的並非OpenCL代碼而是用常規C語言實現的並行算法(會調度全部的CPU核)。
而GPU上運行的OpenCL代碼經過試驗能正確運行在NVIDIA GTX285和AMD HD5870上。
各算法的OpenCL實現有部分修改自NVIDIA和AMD的SDK,部分是由相關從業人員和愛好者提供的。由於NVIDIA和AMD的GPU架構上有很大區別,對於某些算法也許能專門針對NVIDIA或AMD的GPU架構寫出非常難看的比較極端優化的OpenCL代碼,但考慮編程難度、程序的可讀性和普遍意義,GPCBenchMarkOCL只使用了一般的GPU編程優化方法做了簡單優化(例如使用Local memory暫存數據、利用合併存取規則等),並且在不同的OpenCL計算設備上也是運行相同的OpenCL代碼來進行測試。

GPCBenchMarkOCL支持AMD RV770及Evergreen系列,以及NVIDIA G8x、G9x、GT200、GT21x、GF100等GPU的OpenCL平台。


運行環境要求:
操作系統: Windows XP 32/64bit Windows Vista 32/64bit Windows 7 32/64bit 驅動程序:

AMD GPU:催化劑10.2或以上版本,且需安裝AMD Stream SDK 2.01或以上版本(目前AMD GPU的驅動程序還沒有正式加入OpenCL支持)

NVIDIA GPU:只需安裝197.14或以上版本的驅動程序

注意事項: AMD OpenCL平台(催化劑10.3 + Stream SDK 2.01)仍不支持雙精度浮點數操作,但實際上經過試驗,該平台是可以執行部分雙精度浮點數操作的(特殊函數及乘加指令等除外)。如果需要在AMD OpenCL平台上測試雙精度浮點性能,必須在配置頁打開「強制支持雙精度浮點(強制cl_khr_fp64)」選項。
AMD OpenCL平台目前(催化劑10.3 + Stream SDK 2.01)尚未添加對Image存取(通過紋理存取數據)的支持,限制了AMD OpenCL平台在圖像處理應用方面的性能


ATI Stream SDK

官方網站 - HPCtech

GPCBenchMarkOCL中文版

GPCBenchMarkOCL英文版
 

TAS

"人"生淫家...
已加入
2009/03/16
訊息
3,987
互動分數
18
點數
38
來蓋大樓了....抱歉...這裡不是M01...所以蓋塔吧:D





ATI HD5850 (765/1125)



ATI HD5850 (860/1250)



ATI HD5850 (765/1125)



ATI HD5850 (860/1250)



ATI HD5850 (765/1125)



ATI HD5850 (860/1250)



ATI HD5850 (765/1125)



ATI HD5850 (860/1250)



ATI HD5850 (765/1125)



ATI HD5850 (860/1250)



ATI HD5850 (765/1125)



ATI HD5850 (860/1250)



ATI HD5850 (765/1125)



ATI HD5850 (860/1250)



ATI HD5850 (765/1125)



ATI HD5850 (860/1250)
 

小男孩

榮譽會員
已加入
2008/07/05
訊息
2,444
互動分數
1
點數
38
年齡
37
這之前已測過...;x;

CPU︰AMD Phenom II X2 550 Black Edition (3.1 GHz, Socket 938 for AM3)
VGA︰ATI Radeon HD 3870
Driver︰Catalyst 10.6

550預設值︰



550開四核︰



因為3870不支援,改天用8800GTS 320MB來測好了...:rolleyes:
 

alankuo

榮譽會員
已加入
2006/10/04
訊息
1,821
互動分數
0
點數
36
年齡
36
很棒的測試程式...感謝分享啦...
 

小男孩

榮譽會員
已加入
2008/07/05
訊息
2,444
互動分數
1
點數
38
年齡
37
這之前已測過...;x;

CPU︰AMD Phenom II X2 550 Black Edition (3.1 GHz, Socket 938 for AM3)
VGA︰ATI Radeon HD 3870
Driver︰Catalyst 10.6

550預設值︰



550開四核︰



因為3870不支援,改天用8800GTS 320MB來測好了...:rolleyes:
VGA︰NVIDIA GeForce 8800 GTS 320MB
Driver︰Forceware 257.21

測試結果...:rolleyes:

GeForce 8800 GTS
----------------------------------------
全局存储器: 48.2
局部存储器: 37.0
32位整型运算: 35.9
单精度浮点运算: 33.2
双精度浮点运算: 0.0
常用数学方法(单精度): 182.9
常用数学方法(双精度): 0.0
图像处理: 103.2
密码学: 35.4
所有测试: 475.8