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

posts - 43,  comments - 64,  trackbacks - 0
??? 研究GPGPU也有一段時(shí)間了,去年這個(gè)時(shí)候正在學(xué)習(xí)GLSL。一段時(shí)間前在opengl.org上面發(fā)了一個(gè)Suggestion,建議GLSL向Cg以及CgFX學(xué)學(xué)架構(gòu),不要這樣成對(duì)成對(duì)的零散使用,雖然說(shuō)自己可以寫class進(jìn)行封裝,可是如果Shader一多管理起來(lái)是相當(dāng)?shù)念^疼,應(yīng)該學(xué)學(xué)HLSL Cg那樣的方式,通過(guò)technique與pass的選擇進(jìn)行渲染,在概念上也符合multi-pass。

??? GPU的SIMD性能超強(qiáng),比CPU強(qiáng)得太多太多,由此帶來(lái)異常強(qiáng)悍的浮點(diǎn)運(yùn)算性能,請(qǐng)看下圖。

gpgpu.JPG

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

??? 其實(shí)上圖有偏頗,這張圖節(jié)選自Siggraph2004,而現(xiàn)在ATi 1800XT的SIMD性能已經(jīng)超過(guò)了6800好多,可不是游戲性能。不過(guò)可以看出,比CPU的浮點(diǎn)運(yùn)算性能高好幾倍是不真的事實(shí),可是如何利用呢?

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

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

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

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么。不過(guò)值得注意的是,Brook通過(guò)運(yùn)行庫(kù)進(jìn)行封裝,把GPU當(dāng)作Streaming Processor,由CPU進(jìn)行控制,計(jì)算數(shù)據(jù)并輸出。目前似乎只能進(jìn)行圖形的計(jì)算,比如FFT,Ray-Tracing等演示,還沒(méi)有到達(dá)能夠計(jì)算pi的程度。

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

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

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

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

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

嘿嘿,對(duì)筆者的個(gè)人發(fā)展方向很感興趣哦,公司最近在召各方面的三維人才哦,不知道你有沒(méi)有興趣哦  回復(fù)  更多評(píng)論
  
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

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

常用鏈接

留言簿(4)

隨筆分類

隨筆檔案

新聞檔案

同學(xué)們Blog

搜索

  •  

積分與排名

  • 積分 - 55424
  • 排名 - 421

最新評(píng)論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美阿v一级看视频| 亚洲综合国产激情另类一区| 久久精品国产一区二区电影 | 欧美电影在线观看| 一区二区三区欧美激情| 亚洲影音一区| 亚洲免费黄色| 亚洲欧美日韩专区| 亚洲久色影视| 欧美在线视频在线播放完整版免费观看 | 99热免费精品| 久久精品一区二区三区中文字幕| 99热免费精品在线观看| 欧美专区亚洲专区| 亚洲丝袜av一区| 欧美大色视频| 老巨人导航500精品| 国产精品日韩在线| 91久久午夜| 尤物yw午夜国产精品视频明星| 亚洲精品日日夜夜| 尤物网精品视频| 欧美亚洲视频在线看网址| 亚洲午夜三级在线| 欧美激情区在线播放| 免费中文字幕日韩欧美| 国产日韩在线一区| 这里只有精品丝袜| 亚洲永久在线| 欧美性一二三区| 中日韩男男gay无套| 亚洲色图制服丝袜| 欧美日韩一区二区精品| 亚洲精品视频在线观看网站| 亚洲国产天堂久久国产91| 久久国产精品久久久| 久久国产精品99久久久久久老狼| 国产精品久久久久av| 一级日韩一区在线观看| 一区二区三区日韩在线观看| 欧美日韩dvd在线观看| 亚洲国产老妈| 欧美激情国产精品| 在线日韩欧美视频| 久久久久久久网| 久久综合网hezyo| 国产亚洲精品bt天堂精选| 亚洲一区不卡| 欧美一区二视频| 国产视频一区在线观看一区免费| 亚洲小视频在线观看| 香蕉乱码成人久久天堂爱免费 | 欧美国产视频一区二区| 在线观看久久av| 免费欧美日韩国产三级电影| 免费亚洲视频| 亚洲国产欧美一区| 欧美激情麻豆| 日韩五码在线| 亚洲资源av| 国产欧美日韩视频一区二区| 欧美一区二区三区精品电影| 久久人体大胆视频| 亚洲国产美女精品久久久久∴| 免费在线一区二区| 亚洲精品女av网站| 99riav1国产精品视频| 欧美日韩dvd在线观看| 亚洲午夜国产成人av电影男同| 欧美一区二区三区在线视频| 好看的日韩视频| 欧美激情欧美狂野欧美精品| 99国产精品久久久久老师| 亚洲自拍偷拍视频| 国产亚洲a∨片在线观看| 久久综合久久久久88| 亚洲激情视频在线观看| 亚洲欧美日韩区| 一区二区三区在线不卡| 欧美精品18+| 午夜视频久久久| 欧美激情久久久久| 亚洲视频在线观看免费| 国内精品国产成人| 欧美美女bb生活片| 欧美在线观看视频一区二区三区| 欧美黄在线观看| 欧美亚洲三区| 99riav1国产精品视频| 国产亚洲欧美日韩日本| 欧美日韩国产精品自在自线| 久久er精品视频| 夜夜爽夜夜爽精品视频| 欧美v国产在线一区二区三区| 亚洲欧美另类国产| 亚洲精品一区二区三区不| 国产亚洲欧美日韩美女| 欧美午夜在线视频| 男女精品视频| 久久久久国产一区二区| 中文欧美字幕免费| 亚洲国产毛片完整版| 久久蜜臀精品av| 性刺激综合网| 一区二区三区精品国产| 亚洲第一福利在线观看| 国产欧美日韩精品一区| 欧美日韩一区不卡| 欧美二区乱c少妇| 久久久亚洲一区| 亚洲欧美大片| 一本到高清视频免费精品| 农夫在线精品视频免费观看| 国产精品第13页| 欧美丰满高潮xxxx喷水动漫| 久久久999精品视频| 亚洲一区二区在线播放| 日韩网站在线观看| 最新日韩中文字幕| 欧美刺激性大交免费视频| 久久精品在线播放| 午夜精品久久久久久久白皮肤| 亚洲美女黄网| 91久久精品一区二区别| 在线激情影院一区| 在线观看三级视频欧美| 国产一区二区三区黄视频| 国产精品美女午夜av| 欧美日韩亚洲一区二区三区四区| 欧美大片91| 欧美日韩xxxxx| 欧美日产在线观看| 欧美日韩国产成人在线91| 欧美激情一区二区在线| 欧美成人一品| 欧美日韩岛国| 欧美色中文字幕| 欧美视频在线一区二区三区| 欧美日韩在线一二三| 欧美视频在线观看一区| 国产精品麻豆欧美日韩ww | 欧美国产激情二区三区| 裸体一区二区| 亚洲大胆人体在线| 亚洲狠狠丁香婷婷综合久久久| 亚洲国产日本| 日韩午夜免费视频| 亚洲视频在线看| 性刺激综合网| 久久人体大胆视频| 欧美成人国产一区二区| 欧美激情综合网| 国产精品乱子乱xxxx| 国产一区二区日韩精品| 亚洲成人中文| 亚洲少妇在线| 久久国产婷婷国产香蕉| 玖玖玖免费嫩草在线影院一区| 六月丁香综合| 亚洲精品字幕| 亚洲欧美日本精品| 久久久国产视频91| 欧美老女人xx| 国产美女在线精品免费观看| 韩国一区电影| 一本色道久久综合亚洲精品按摩| 亚洲在线观看免费| 久久久夜夜夜| 日韩亚洲欧美综合| 欧美一二三视频| 欧美国产日韩一区二区在线观看 | 日韩午夜剧场| 欧美在线精品一区| 欧美国产综合视频| 国产精品尤物| 日韩视频中文| 久久久九九九九| 亚洲精选视频免费看| 欧美一区二区高清| 欧美精品aa| 国内精品久久久| 在线一区日本视频| 麻豆精品视频在线观看| 99国产精品视频免费观看| 久久av免费一区| 欧美无乱码久久久免费午夜一区 | 亚洲欧美三级在线| 欧美77777| 亚洲免费视频在线观看| 欧美激情久久久久| 国产午夜精品久久| 亚洲私人影院在线观看| 亚洲人成网在线播放| 亚洲四色影视在线观看| 久久婷婷国产综合精品青草| 一区二区三区久久精品| 巨乳诱惑日韩免费av| 亚洲曰本av电影| 欧美网站大全在线观看| 99在线热播精品免费99热|