青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 43,  comments - 64,  trackbacks - 0
??? 研究GPGPU也有一段時間了,去年這個時候正在學習GLSL。一段時間前在opengl.org上面發了一個Suggestion,建議GLSL向Cg以及CgFX學學架構,不要這樣成對成對的零散使用,雖然說自己可以寫class進行封裝,可是如果Shader一多管理起來是相當的頭疼,應該學學HLSL Cg那樣的方式,通過technique與pass的選擇進行渲染,在概念上也符合multi-pass。

??? GPU的SIMD性能超強,比CPU強得太多太多,由此帶來異常強悍的浮點運算性能,請看下圖。

gpgpu.JPG

??? 畫外音:不知道我的6200A排在什么地方哈哈。

??? 其實上圖有偏頗,這張圖節選自Siggraph2004,而現在ATi 1800XT的SIMD性能已經超過了6800好多,可不是游戲性能。不過可以看出,比CPU的浮點運算性能高好幾倍是不真的事實,可是如何利用呢?

??? 可編程硬件的到來為我們開了一個好頭,也許未來計算機硬件的發展趨勢就是,通用計算Generic Computing(GC,自造詞匯,可不是垃圾收集)。顯卡一直以來都是和Pixel打交道,讀取Texel,處理Primitive,寫入FrameBuffer,為SIMD的應用打下了堅實的基礎。顯卡芯片從開始就是并行設計的,這樣從紋理單元讀取Texel時才能發揮效力,當年大名鼎鼎的Riva TNT2的意思其實是TwiNs Textures雙紋理,而不是黃色炸藥。Geforce3依靠添加的幾個昂貴的register實現了Vertex Programming。NV收購3dfx,推出NV30系列芯片,伴隨著DX8為PC機引入Shader,開創PC機圖像畫質飛躍的先河,如今熱門游戲大多數已經使用可編程著色技術用來實現以往在工作站上才能實現的效果,這就是為什么如今看游戲實時演算的畫面都比當年Square動用sgi工作站集群渲染出來的FF8動畫效果好的原因。其實高級CG圖形理論在80年代就已經相當成熟,比如78年的Shadow mapping,White的Ray-tracing等等。那些技術以后我會慢慢給大家介紹,大家不妨去NVIDIA下載一個SDK研究一下,還有MS DX SDK也是必需的。

??? 先說目前可編程硬件用作通用計算的局限,而且在我看來,這個局限在Vista與DX10流行后可能依舊得不到解決,那就是API的問題。顯卡廠商提供的驅動,無一例外的都是徹底為顯示服務的,而不是用來標榜自己是GPGPU的。雖然說都有了自己的本地編譯器(主要是用于編譯GLSL string codes,HLSL可以預先編譯好,然后再由驅動載入執行),可是依舊不是為了計算非圖形數據服務。于是找到了Sh。Sh是一個很有趣的東西,使用了metaprogramming技術,模擬圖形語言的算法,編譯的時候轉化為對應的低等級ASM語句,很多Graphic Slide里面進行核心算法展示的時候都用的Sh。有興趣地可以到這里看一下。強烈建議顯卡廠商推出可以直接進行計算的驅動,不要和FrameBuffer牽涉,可以直接通過Bus寫入內存,技術上并不難,也許是個商業問題。關鍵時刻永遠是商業左右技術的發展,而不是技術人員的一廂情愿就可以左右世界發展,如今已經不是工業革命時代了。

??? 給大家介紹來自Starford University的Brook(聽起來好像廣告,不過在Shading Language界可是有Starford Shading Language得一席之地的)。Brook可以理解為是一個C編譯器,只不過它編譯的不是Bin,而是C++ string codes,而且是著色計算語句數組。比如有這樣一段Brook代碼,簡單的Alpha混合,不對,不像,反正就是它了:

kernel?void?saxpy(float?alpha,?float4?x<>,?float4?y<>,
out?float4?result<>)?{
result?
=?(alpha?*?x)?+?y;
}
???
??? 編譯成最終的C++代碼變成,

static?const?char*?__saxpy_fp30[]?=?{
"!!FP1.0\n"
"DECLARE?alpha;\n"
"TEX?R0,?f[TEX0].xyxx,?TEX0,?RECT;\n"
"TEX?R1,?f[TEX1].xyxx,?TEX1,?RECT;\n"
"MADR?o[COLR],?alpha.x,?R0,?R1;\n"
"END?\n"
"##!!BRCC\n"
"##narg:4\n"
"##c:1:alpha\n"
"##s:4:x\n"
"##s:4:y\n"
"##o:4:result\n"
"##workspace:1024\n"
"##!!multipleOutputInfo:0:1:\n"
"",NULL};
void?saxpy?(const?float?alpha,const?::brook::stream&?x,const?::brook::stream&?y,
::brook::stream
&?result)?{
??? static?const?void?*__saxpy_fp[]?=?{"fp30",?__saxpy_fp30,?"ps20",?__saxpy_ps20,
??? ??? ??? ??? ??? "cpu",?(void?*)?__saxpy_cpu,?NULL,?NULL?};
??? static?__BRTKernel?k(__saxpy_fp);
??? k
->PushConstant(alpha);
??? k
->PushStream(x);
??? k
->PushStream(y);
??? k
->PushOutput(result);
??? k
->Map();
}
???
??? 這不就是純粹的Shading Language么。不過值得注意的是,Brook通過運行庫進行封裝,把GPU當作Streaming Processor,由CPU進行控制,計算數據并輸出。目前似乎只能進行圖形的計算,比如FFT,Ray-Tracing等演示,還沒有到達能夠計算pi的程度。

??? 思考了一下。精度問題需要解決,FP16剛剛開始廣泛使用,FP32還不能夠支持硬件過濾。FP32僅僅只是IEEE754 float的精度而已,更本談不上double的精度,用在需要精度較高的地方可能還不是很適合。如我設想那樣,進行pi的幾百萬位的計算,目前來說不太可能,首先,Shading Language從來就沒有提供地址的操作,也就是無法選澤Pixel的位置,也就是無法對FrameBuffer進行準確定位。如果可以解決這個問題,那么就可以進行真正意義上的通用計算,那個時候FrameBuffer只是一個暫時的緩沖容器而已。

??? SIMD的物理計算可以相當的強悍。物理特性計算都是強調同時性的,而GPU可以同時并行計算,充分發揮了自己的優勢,難怪NVIDIA要和Havok進行合作。記得以前看過博客園中一位先生寫的物理引擎,著實震驚,我建議他不妨研究研究這一塊。Stream的概念將在DX10上得到徹底的詮釋,不妨看看我以前翻譯的DX10文章,其中Geometry Shader很有意思。

??? 我期待下一代API出現,一個嶄新的軟硬件組合方案,這樣就可能為Display Adapter這個古老的東西帶來真正的革命。值得注意的是,AMD已經收購了ATi,而Intel還在為100億美元收購NV的價格評估的時候,也許下一代變革已經開始了,讓我們拭目以待。

??? 提到的東西可以在這里找到
??? Brook http://sourceforge.net/projects/brook
??? libSh http://sourceforge.net/projects/libsh
posted on 2006-10-14 22:21 周波 閱讀(2611) 評論(1)  編輯 收藏 引用 所屬分類: Cg藝術無庸技術

FeedBack:
# re: GPU還可以做什么 —— Brook for GPUs,Stream Computing On GPUs
2007-08-09 18:06 | m17
文章拜讀中...

嘿嘿,對筆者的個人發展方向很感興趣哦,公司最近在召各方面的三維人才哦,不知道你有沒有興趣哦  回復  更多評論
  
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

周波 87年出生 南京林業大學05421班242信箱 專業木材科學與工程工業裝備與過程自動化 遷移到 jedimaster(dot)cnblogs(dot)com

常用鏈接

留言簿(4)

隨筆分類

隨筆檔案

新聞檔案

同學們Blog

搜索

  •  

積分與排名

  • 積分 - 55218
  • 排名 - 421

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久漫画官网| 一区二区三区精品在线 | 夜夜嗨av一区二区三区四季av| 美女精品自拍一二三四| 久久一区二区三区四区五区| 伊伊综合在线| 亚洲人成人一区二区在线观看| 欧美 日韩 国产一区二区在线视频| 亚洲精品视频一区| 一本色道久久综合| 国产日韩欧美一区二区| 欧美.日韩.国产.一区.二区| 欧美激情视频一区二区三区免费| av不卡在线观看| 亚洲在线观看免费| 一色屋精品视频免费看| 亚洲国产精品va在线看黑人动漫 | 欧美日韩亚洲视频一区| 午夜精品久久久久久久久久久| 欧美在线一二三四区| 亚洲免费观看高清完整版在线观看熊 | 亚洲欧洲日韩女同| 日韩午夜在线| 伊人精品成人久久综合软件| 亚洲精品国产视频| 国产一区二区欧美日韩| 亚洲激情视频网| 国产亚洲精品bt天堂精选| 亚洲第一页中文字幕| 国产精品青草久久| 亚洲国产mv| 国产在线拍揄自揄视频不卡99| 亚洲国产va精品久久久不卡综合| 国产伦精品一区二区三区免费迷 | 蜜桃av一区二区三区| 欧美日韩免费高清一区色橹橹| 久久精品道一区二区三区| 欧美精品18+| 另类成人小视频在线| 国产精品久久久999| 亚洲成色www久久网站| 国产午夜亚洲精品不卡| 日韩视频在线一区二区三区| 亚洲激精日韩激精欧美精品| 久久精品三级| 久久久蜜桃一区二区人| 国产精品极品美女粉嫩高清在线| 91久久综合亚洲鲁鲁五月天| 在线国产欧美| 欧美专区在线观看一区| 欧美亚洲视频在线看网址| 欧美日韩中文字幕在线| 亚洲日本va午夜在线影院| 亚洲国产精品悠悠久久琪琪| 久久精品国产亚洲aⅴ| 欧美伊人久久久久久久久影院| 欧美三区在线| 在线视频日韩| 亚洲欧美一区二区视频| 国产精品高潮呻吟| 一区二区三区四区蜜桃| 亚洲午夜激情网站| 国产精品va| 亚洲影院色无极综合| 中国亚洲黄色| 国产精品jvid在线观看蜜臀| 亚洲作爱视频| 新狼窝色av性久久久久久| 国产伦精品一区二区三| 欧美一二三视频| 久久免费高清视频| 在线国产欧美| 欧美精品一区二区三区高清aⅴ| 亚洲韩国日本中文字幕| 一本大道av伊人久久综合| 欧美日本韩国一区| 亚洲在线播放电影| 久久久亚洲影院你懂的| 亚洲第一页中文字幕| 欧美激情五月| 99国产精品久久久久老师| 午夜精品一区二区在线观看| 国内精品模特av私拍在线观看| 久久久久久久国产| 亚洲国产日韩欧美在线动漫| 亚洲欧美电影在线观看| 国产一区二区三区成人欧美日韩在线观看 | 久久精品72免费观看| 亚洲二区精品| 亚洲欧美日韩第一区| 国产中文一区二区三区| 欧美成人蜜桃| 亚洲在线视频免费观看| 免费黄网站欧美| 亚洲视频www| 韩国自拍一区| 欧美日韩中文| 国产农村妇女精品| 亚洲欧美日韩综合国产aⅴ| 老司机午夜精品视频在线观看| 亚洲人体大胆视频| 国产性猛交xxxx免费看久久| 欧美不卡视频| 午夜精彩国产免费不卡不顿大片| 欧美黄色免费网站| 性久久久久久久久久久久| 亚洲精品国产精品乱码不99| 国产伦精品一区二区三区在线观看| 久久久久**毛片大全| 99国内精品| 欧美顶级少妇做爰| 欧美自拍偷拍午夜视频| 一区二区三区|亚洲午夜| 狠狠久久亚洲欧美| 国产精品免费在线| 欧美激情视频一区二区三区免费| 久久精品国产第一区二区三区最新章节| 亚洲精品激情| 欧美激情视频网站| 久久久久国产精品厨房| 亚洲欧美成人一区二区在线电影| 日韩一区二区精品视频| 在线播放国产一区中文字幕剧情欧美| 国产精品久久久久久久app| 欧美激情视频免费观看| 免播放器亚洲一区| 久久国产精品99久久久久久老狼| 在线综合亚洲欧美在线视频| 亚洲人成欧美中文字幕| 欧美激情视频在线播放 | 亚洲国产精品嫩草影院| 国产亚洲欧美一区二区| 国产精品一区在线观看你懂的| 欧美日韩精品是欧美日韩精品| 欧美大片第1页| 欧美大片一区二区三区| 欧美aa国产视频| 欧美福利在线| 欧美激情欧美狂野欧美精品| 欧美成年人网站| 欧美好吊妞视频| 欧美日韩福利| 欧美午夜在线一二页| 欧美三级午夜理伦三级中文幕 | 欧美色视频一区| 欧美性生交xxxxx久久久| 欧美性猛交xxxx乱大交退制版| 国产精品久久久99| 国产欧美精品xxxx另类| 国产一二三精品| 在线国产亚洲欧美| 99riav国产精品| 亚洲私人影院| 欧美在线观看一区二区| 久久一区二区精品| 欧美aⅴ一区二区三区视频| 欧美国产第二页| 亚洲伦理自拍| 亚洲欧美另类在线观看| 久久国产精品久久国产精品| 久久综合国产精品| 欧美日本一道本| 国产精品资源在线观看| 国模精品一区二区三区| 亚洲三级色网| 午夜一区不卡| 欧美成人精品h版在线观看| 最新日韩精品| 亚洲欧美日韩综合一区| 久久婷婷蜜乳一本欲蜜臀| 欧美极品在线观看| 国产欧美一区二区精品秋霞影院| 黄色日韩网站视频| 久久久久成人网| 国产精品毛片a∨一区二区三区|国 | 亚洲国产精品一区二区第一页 | 亚洲日韩欧美一区二区在线| 一区二区精品在线| 久久国产色av| 欧美日韩一区二区三区在线视频 | 亚洲精品国产精品国自产在线 | 欧美一区二区三区四区夜夜大片| 老色鬼精品视频在线观看播放| 亚洲欧洲另类| 久久国产99| 国产精品久久久久国产a级| 亚洲大胆av| 午夜精品福利在线观看| 亚洲电影网站| 欧美一区二区三区视频在线| 欧美日韩免费在线视频| 亚洲国产高清高潮精品美女| 午夜精品短视频| 亚洲人体1000| 美女露胸一区二区三区| 国产日韩欧美中文| 亚洲欧美视频在线观看视频| 欧美激情成人在线| 久久福利一区| 国产人成一区二区三区影院|