VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Objective-C编程 >
  • CUDA线程执行模型分析(1)招兵—CPU的革命

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
  序:今天或许是比较不顺心的一天,从早上第一个电话,到下午的一些列的事情,有些许的失落。有的时候真的很想把工作和生活完全分开,但是谁又能真正的分得那么开,人非草木!很多的时候都想给人生下一些定义,添加一些注释。但是生活本来就是不需要添加注释的自解释的代码。用0来解释?还是用1来解释?0,天地之始,1,万物之源。谁又能说清楚,是先有0,还是先有1,他们本就是同体……要想成事,就应该拿得起,放得下。感叹人生的同时,人生的旅程是不会停止的……手下还有招来的那么多将士,都还等着啦!
  正文:书接上回--《CUDA 线程执行模型分析(一)招兵------ GPU的革命》,经过几天的征兵,将士也招了差不多五六千人,五六千人,就是五六千张嘴,得吃饭。这和我们的CUDA内存模型又有什么相识啦?或许有很多人都参加过军训,知道军队里面吃饭吗?到吃饭的时间,各处训练的队伍都拉到食堂前面。先到的就先进去吃,后到的就在外面拉歌,等待下一波,这里我们暂时还不讲解怎么安排每一对吃饭。我们先讲讲每一个Grid手下的兄弟们吃饭都需要那些家伙。下面来看看站长图:
  
  这里我们有一个block的士兵(16个人)在吃饭,每个人有一双筷子(Registers),一个碗(local memory),大家公用一张桌子(Block 里面的shared memory)。记得军训那年,在河北宣化,八个人一张桌子,一起抢桌子上的吃的时候,那个景象。训练了一天,一个个都是如狼似虎的,嘴巴里面咬着,筷子里面夹着,碗里面盛着,研究还看着桌子上的那几根鱼骨头(鱼肉早就进肚子里面了- -!)那个时候就看谁的筷子夹得多,碗装得多了。不过再多,筷子就那么长,碗就那么大~咱们再来看看block的情况:
  如图:……不需要注释了吧……
  餐厅里面肯定不止是一张桌子了,我已经不记得当时军训的时候,那个军营的食堂有多少个桌子,不过我们吃饭的时候可以装下几个连一起吃饭……想想那吃饭的阵势……
  哦,对了,我还记得在食堂里面有几个大桶,那玩儿应该不能称之为桶了,太大了 - -!可以分为三类,一类是装菜的,一类是装饭的,一类是装水果的。这几个桶都是大家可以共用的,记得有好吃的菜,大家都最先吃完那个菜,然后再跑到中间这个几个桶的地方找这个菜,装完一份跑到桌子那边一起分享……很是怀念那段日子。 Long long ago了……
  我能回想起来的那个时候的饭堂,如图(一个大的Grid吃饭图……):
  
  CUDA的内存模型也就这个样子了~
  
  这些都是我们承诺给士兵的,每个人都要吃上饭。但是实际上我记得食堂再大,也不能一下子装下两个团的人吃饭,那个时候都是每个团里面的几个连队先吃饭,然后后到的就在外面拉歌,等里面的吃好了,后面的再进去吃……不是每个食堂都像北大的“万人坑”那样能装1w人- -实地考察,好像要是真装了一w人,大家也就不用坐着吃饭了~- -
  对应手册上的第二章,运行模型就讲完了,接下来就要把队伍拉出来练习练习了……
  对了,我们的SIMD还没讲啦~队伍人数那么多,现在就那么几杆枪~怎么练习,还没讲啦……接下来的章节更精彩……
  PS: 题外话,或许是小的时候喜欢画图吧~现在还记得小学的美术老师给我们上的第一堂美术课,在黑板上画的正方形。在那个时候好像脑子里面就可以看穿物体一样,看到物体的这一面,就可以在大脑里面勾画出他的另一面~记得大学的时候参加定向越野,看到地图的时候,第一感觉,图形都好熟悉,然后再和实际的物体一对照,都是那么清晰,看到一栋建筑物,一对照地图,就可以知道他的后面是什么样,仿佛整个地图就在脑子里面构建起了地形图~呵呵很是奇妙……不知道大家有没有这样感觉的时候……
 


相关教程