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

posts - 43,  comments - 64,  trackbacks - 0

When Brook Meets ICE
A Smalltalk about General Computing Platform
Bosch Chou (zhoubo22@hotmail.com

??? As we have seen, techniques about distributed communication such as CORBA, DCOM, even JAVA have been used widely at some corners on the earth. All of these could implement purposes such as RPC, distributed computing, and some others applications for business and science.
???? Let’s have a look at development of hardware on platform of PC. CPU is becoming much faster, and much cheaper than any time before. At the same time, GPU, or more generally, is the card we call Display Adapter. Since 1999, NVIDIA released the new generation graphic card series named Geforce, challenge the performance until now, next year we can buy DX10 cards on the markets. Graphic card could do vertex transform and lighting instead of CPU. It’s a great progress on both CPU and GPU. How to use these rich SIMD resources? We can easily understand why we will focus to GPU.
???? Calm down, what’s our desire platform?

  • Cross Operation System
  • Cross Networks
  • Cross hardware – This is the key problem I try to solve.

??? ?The specialties I showed here, except the last one, most of them had been solved by some current technique. So, how to ??I found 2 treasures. ICE, Internet Communication Engine, is much similar as classic CORBA, but much easily used than CORBA. Brook, from Stanford University, developed for years, designed for GPU stream computing. Both of them have the same usage, a front-compiler, which could translate string-codes to C++ language. Then we can add the .h, .cpp files to our projects, code the interface.
??? The process how does client pass its call to server as showed below.

  • Client pass the data which need to be computed to interface declared both side
  • Server receives the data, compute them, pass the results back to client
  • Client receives the result, do its work itself continually.

??? But, the problem is, it’s too kinds of IDL language, one is for internet application, another is for local GPU stream computing. And more, ICE have no stream data property. It sounds like C++ metaprogramming, but it’s quite different from each other. So, does it meaning that we must redefine a new IDL language? Let’s check current tools we have had now.
????? In fact, the most important is the base model. ICE supports a property called “Sequence”, mapped into STL container of C++. It could be considerate as the base data type in the language we thought should to invert one. When a client sent a request, server accepted, and then the client sent data wrapped in this container which will rebuild in memory of “Server” as texture structure. After server had prepared all the textures contained the data ready to compute, it called API, used the Shaders to computed data. All the progress I have illustrated as follows.
For example, we wrote these IDL sentences.
?

GPU?Interface?Foo
{
Add([
in ]? float ?a <> ?,?[ in ]? float ?b <> ,?[ out ]? float ?c <> ) {
/* ?some?stuff? */
}

}

CPU?Interface?Bar
{
?Add([
in ]? float ?a[],?[ in ]? float ?b[],?[ out ]? float ?c[]) {
?
/* ?some?stuff? */
}

}

?We declared the 2 interface, attention, the “GPU” and ”CPU” is the key word here, they’are used to mark where the interface is used for, here, one will run on traditional CPU, another will run on GPU.
??

// On?Server?Side
??
// verify?the?validity?of?data
??vector < float > ?tex1;
??vector
< float > ?tex2;
??vector
< float > ?result;
??Add(tex1,tex2,result)?
// use?reference,?avoid?stack-copy
?? {
???GLfloat
* ?Tex1Ptr? = ? new ?GLfloat[tex1.size()];
???
/* ?some?stuff?as?above,?convert?container?to?texture?structure */
???GLuint?hTex1;?glGenTextures(
1 , & Tex1);
???glTexImage2D(
/**/ ,Tex1Ptr);? // upload?the?data?into?memory?as?texture
???glUseProgram(g_hArithmetic);
???
/* Draw?something?to?get?all?the?data?out,?a?rectangle?etc. */
??}

???? If you’re familiar with GL programming, you will point out, “Why not add glFlush, glSwapBuffer above ? “, in fact that’s the key of my whole article. If we only need 1 + 1, even we do not need GPU. The men are greedy all the time. If we want GPU to compute the π for us, what’s should we do ? Assume, we want to compute π , 16 million digitals, but texture unit of GPU can only hold 4096x4096 floating texture size. When GPU will swap buffer, we must move all the data from framebuffer to disk, save them, then make GPU continue compute data. But How to ? I checked the OpenGL and D3D Manual, found nothing useful. So I thought several way to implement this key problem.

  • Next generation hardware architecture, CPU integrates GPU, I think AMD & ATi will do this.
  • Improve the current API & Drivers, support operate SIMD register directly.

All I said was above, about a special aspect of distributed computing, about how to use GPU to do compute as CPU. If this can be implemented one day, I think the modern science will be benefited much from this.

Reference:
ICE, Internet Communications Engine, Zeroc,Inc http://www.zeroc.com/
Brook, Stardford University, http://sf.net/projects/brook
NVIDIA Develper Zone, http://developer.nvidia.com/
OpenGL official Site, http://www.opengl.org/

?

posted on 2006-10-28 11:58 周波 閱讀(950) 評論(0)  編輯 收藏 引用 所屬分類: 奇思妙想
<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

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

常用鏈接

留言簿(4)

隨筆分類

隨筆檔案

新聞檔案

同學們Blog

搜索

  •  

積分與排名

  • 積分 - 55714
  • 排名 - 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>
            亚洲无人区一区| 99亚洲视频| 欧美一区二区三区四区在线观看地址| 亚洲激情图片小说视频| 久久久一区二区三区| 一区二区视频免费在线观看| 久久综合久久综合久久| 久久综合九色综合欧美就去吻| 亚洲国产成人久久| 亚洲电影av在线| 欧美日韩一区高清| 性欧美videos另类喷潮| 久久精彩免费视频| 亚洲精美视频| 一区二区三区免费在线观看| 国产日韩精品视频一区| 免费欧美在线视频| 欧美金8天国| 欧美一区日韩一区| 老色批av在线精品| 亚洲色诱最新| 欧美一区二视频| 亚洲三级免费观看| 亚洲综合精品一区二区| 亚洲激情另类| 亚洲一区二区三区精品视频| 在线精品国产欧美| 99在线观看免费视频精品观看| 国产亚洲欧美一区| 亚洲国产综合在线| 国产亚洲激情| 亚洲免费观看| 亚洲国产激情| 亚洲欧美综合| 在线午夜精品| 噜噜爱69成人精品| 午夜亚洲福利在线老司机| 久久se精品一区精品二区| 夜夜嗨av一区二区三区四区| 久久精品123| 先锋亚洲精品| 欧美日韩国产大片| 另类春色校园亚洲| 国产精品久久久久免费a∨ | 国产精品户外野外| 久久资源在线| 国产精品一区二区久久久久| 亚洲精品欧美日韩专区| 亚洲国产日韩欧美在线图片 | 亚洲第一天堂av| 国产在线播精品第三| 日韩午夜激情电影| 亚洲精品免费一二三区| 久久网站免费| 狂野欧美一区| 国产午夜亚洲精品不卡| 一区二区激情视频| 亚洲日本中文| 免费成人av在线| 免费精品99久久国产综合精品| 国产日韩精品一区二区| 亚洲一二区在线| 亚洲少妇中出一区| 欧美精品一区二区在线播放| 亚洲高清在线| 亚洲国产综合在线看不卡| 久久激情网站| 美女999久久久精品视频| 国产午夜精品视频| 欧美综合国产| 久久―日本道色综合久久| 国产一区二区无遮挡| 欧美在线观看视频| 久久另类ts人妖一区二区 | 欧美电影免费观看| 亚洲国产第一| 一本色道久久| 国产精品国产三级国产aⅴ9色| 日韩网站在线观看| 亚洲自拍偷拍麻豆| 国产精品夜夜夜| 久久九九免费视频| 欧美大片在线观看一区二区| 亚洲精品色图| 国产精品国产自产拍高清av王其| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲制服av| 国产亚洲一区在线播放| 久久xxxx| 亚洲电影在线| 亚洲永久免费av| 国产一区二区日韩| 狼人社综合社区| 日韩系列欧美系列| 欧美中文字幕在线| 樱桃成人精品视频在线播放| 欧美激情精品久久久久久久变态 | 欧美一区二区免费观在线| 国产欧美一区二区在线观看| 久久天堂国产精品| 亚洲日本中文字幕免费在线不卡| 午夜精品成人在线| 亚洲国产精品成人精品| 欧美视频国产精品| 久久久国产精品亚洲一区 | 欧美激情无毛| 亚洲欧美日韩国产综合在线 | 国产欧美日韩综合一区在线观看 | 亚洲免费网址| 亚洲承认在线| 欧美中文字幕第一页| 亚洲毛片在线看| 国产日产欧美一区| 欧美日韩精品免费在线观看视频| 午夜老司机精品| 999亚洲国产精| 欧美刺激性大交免费视频| 午夜电影亚洲| 亚洲一区二区欧美日韩| 亚洲高清在线精品| 国产日韩欧美一区在线| 欧美日韩一区二区三区在线视频| 久久精品女人天堂| 亚洲综合色噜噜狠狠| 日韩午夜在线| 亚洲高清毛片| 欧美高清一区| 久久视频在线看| 午夜一级久久| 亚洲影视九九影院在线观看| 91久久精品久久国产性色也91| 国产日韩欧美二区| 国产精品久久国产精麻豆99网站| 欧美黄色片免费观看| 老司机一区二区| 久久青草久久| 欧美在线精品免播放器视频| 亚洲尤物在线视频观看| 99在线精品观看| 一区二区三区日韩在线观看| 亚洲精品乱码视频| 亚洲美女精品一区| 亚洲精品一区二区在线观看| 亚洲高清久久网| 亚洲黑丝一区二区| 亚洲国产精品一区在线观看不卡 | 亚洲美女毛片| 日韩视频免费观看| 亚洲精品一区二区三区四区高清| 91久久精品日日躁夜夜躁欧美| 亚洲第一免费播放区| 农夫在线精品视频免费观看| 欧美福利专区| 亚洲国产一区二区三区a毛片| 亚洲第一精品福利| 亚洲老司机av| 亚洲图片在线观看| 午夜精品久久99蜜桃的功能介绍| 亚洲欧美色一区| 欧美在线观看日本一区| 久久视频精品在线| 模特精品裸拍一区| 欧美绝品在线观看成人午夜影视 | 国产精品高清免费在线观看| 国产欧美精品久久| 国产综合色产在线精品| 亚洲电影免费观看高清| 亚洲精品中文字幕女同| 亚洲女人天堂av| 久久久久九九视频| 亚洲国产二区| 亚洲免费在线视频| 久久久久久**毛片大全| 欧美高清在线| 国产欧美日韩综合一区在线观看| 在线日韩中文| 亚洲综合精品四区| 毛片av中文字幕一区二区| 亚洲风情亚aⅴ在线发布| 在线综合亚洲欧美在线视频| 久久久精品视频成人| 欧美日韩黄色大片| 国内精品久久久久久影视8| 999在线观看精品免费不卡网站| 午夜精品福利一区二区三区av | 亚洲成色www8888| 国产精品99久久久久久人| 久久婷婷影院| 国产精品在线看| 日韩亚洲欧美高清| 久久久久九九视频| 日韩视频精品在线| 久久野战av| 国产伦精品一区二区三区高清版 | 一区二区三区视频观看| 久久嫩草精品久久久精品| 99爱精品视频| 欧美华人在线视频| 在线成人av| 久久久天天操|