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

隨筆 - 119  文章 - 290  trackbacks - 0

博客搬家了哦,請移步
叫我abc

常用鏈接

留言簿(12)

隨筆分類

我的博客

搜索

  •  

積分與排名

  • 積分 - 305651
  • 排名 - 84

最新評論

閱讀排行榜

最近閱讀了《GAME PROGRAMMING GEMS6》,頗有收獲,以筆記之。

首先是GENERAL PROGRAMMING SECTION。

1.2 Utilizing Multicore Processors with OpenMP
OpenMP是一個并行庫,和一般的多線程庫不同,OpenMP著重于局部和片斷的并行,目前VC8.0和GCC4.2均已支持了OpenMP。

(a)OpenMP的并行方式
在我未接觸OpenMP之前,我通過多線程只認識到并行其實和多進程并行沒有什么區(qū)別,比如UI線程和工作線程,又比如渲染線程和后臺裝載線程。
它們是兩條生命期長得不得了的線程,通過臨界區(qū)和互斥體訪問共享變量,協(xié)同完成任務。
我一直覺得這樣的并行挺危險的,在這長長的生命周期中,它們無法判斷對方目前正處于何種狀態(tài),只能通過加鎖來解決溝通問題。
OpenMP的并行是局部的并行,線程的生命周期較短,并且處于同一狀態(tài)。在串行程序中,程序可以分為許多有序的任務,像流水線般,如
   step1->step2->step3->step4->step5。
OpenMP就是針對某一個step,來展開并行處理的。比如之前的5個step,其中step2和step5使用了并行處理,那么每一步都線程數(shù)量如下(假設是雙核,那進入并行時產(chǎn)生4個線程):
   1->4->1->1->4。
一般能夠展開并行的任務最好是for循環(huán)的任務,這種任務可以將被處理的數(shù)據(jù)均分到多個線程上,并行處理。
如:
for n=0,100
   proc( data[n] );
就可以被OpenMP展開為以下4個循環(huán),每個循環(huán)分配一個線程:
for n=0,25
   proc( data[n] );
for n=25,50
    proc( data[n] );
for n=50,75
    proc( data[n] );
for n=75,100
    proc( data[n] );

(b)什么樣的task應該交給OpenMP并行?
由上面的例子可以看到,一般是for循環(huán)的task,可以交給OpenMP。但是這里還是有些需要注意到地方的,比如在處理data[i]的時候,就不要去訪問data[j]的數(shù)據(jù),也就是盡量不要寫出一些需要加鎖訪問的代碼。即使在處理某個數(shù)據(jù)的時候要訪問其他相關的數(shù)據(jù),這樣的數(shù)據(jù)需要多數(shù)也是可以在進入并行區(qū)域前準備好的:
      獲取(串行)->處理(并行)->回寫(串行)

(c)OpenMP的使用接口
不要在正式程序中太著急的使用OpenMP,先老老實實的寫你的串行程序,然后在程序完成后經(jīng)過測量找出熱點,再對某些熱點使用OpenMP并行。說到這里,你應該感覺到,OpenMP是一種想要就要,不破壞程序原有結構的東西了吧。
沒錯,OpenMP簡單用的話簡單無比,復雜用的話也不是那么困難。
比如:
#pragma omp paralle for
for ( int i=0; i < 1000; ++i )
    proc( data[i] );
#pragma omp指令在編譯器的支持下,就會展開成許多東西,并切實的發(fā)生并行。
由于并行一向不好調(diào)試,所以一開始要做的就是,串行編程,然后運行無措,最后才優(yōu)化,不是嗎?

(d)使用OpenMP的必要性
在游戲開發(fā)中,有兩種程序必然要OpenMP的并行,一種是MMOG的服務器程序,上面跑著近萬NPC和子物體,再加上幾千玩家,這樣的處理量,不需要多核不需要并行是不可能的。另一種就是游戲機游戲開發(fā),比如X360,就是幾個低能的CPU湊在一起拼出來的,這要是不并行,那鐵定沒法跑了。
高頻的CPU估計是很難再有了,進入多核時代,不用多線程,不用并行,出門都不好意思跟人打招呼····

PS:在看本書之前,我就已經(jīng)由X360的朋友介紹,進行了OpenMP的研究,有一種與主流同步的感覺+ω+


1.3Computer Vision in Games Using the OpenCV Library
(a)OpenCV是一個視覺,圖像處理庫,比如能從照片中識別出人臉之類的
(b)OpenCV是Intel發(fā)起的,所以在Intel的平臺上效率會優(yōu)于AMD平臺
(c)有興趣的可以用OpenCV做出itoy這樣的游戲,也就是使用camera操作的游戲

我個人對OpenCV目前不是很有興趣,不過公司里面還是有人玩過一段時間,又一次覺得和主流同步了+ω+

好,累了,今天先寫到這里,剩下的慢慢出。

posted on 2007-11-24 10:14 LOGOS 閱讀(2096) 評論(4)  編輯 收藏 引用 所屬分類: 《GAME PROGRAMMING GEMS6》讀書筆記

FeedBack:
# re: 《GAME PROGRAMMING GEMS6》讀書筆記-1[未登錄] 2007-11-24 10:24 海邊沫沫
正準備學OpenMP,摟主的文章對我很有幫助。  回復  更多評論
  
# re: 《GAME PROGRAMMING GEMS6》讀書筆記-1 2007-11-24 21:19 羅賓李
學習,這東西有點意思  回復  更多評論
  
# re: 《GAME PROGRAMMING GEMS6》讀書筆記-1 2007-11-26 09:29 夢在天涯
OpenMp 是intel的多線程lib把,看過簡單的實例,但是一直沒有用過啊
  回復  更多評論
  
# re: 《GAME PROGRAMMING GEMS6》讀書筆記-1 2007-11-26 14:55 LOGOS
@夢在天涯
不是intel的東西,是很多廠商共同維護的標準,由編譯器進行支持  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              最新国产精品拍自在线播放| 国产有码在线一区二区视频| 亚洲电影一级黄| 蜜月aⅴ免费一区二区三区 | 亚洲一区二区三区午夜| 一区二区成人精品| 国产精品无码永久免费888| 欧美中文在线视频| 久久久蜜桃一区二区人| 日韩一级成人av| 亚洲无限av看| 欲香欲色天天天综合和网| 亚洲欧洲一区二区天堂久久 | 国产美女精品| 免费一级欧美片在线观看| 欧美日韩精品在线观看| 欧美一级艳片视频免费观看| 久久精品水蜜桃av综合天堂| 日韩视频免费观看| 午夜精品久久久久久久久久久久 | 久久精品亚洲一区二区| 欧美高清在线观看| 久久激情五月婷婷| 欧美精品手机在线| 久久久999国产| 欧美日韩一区二区在线观看视频| 久久精品在这里| 欧美日韩人人澡狠狠躁视频| 久久精品一本| 国产精品jizz在线观看美国 | 亚洲最新视频在线播放| 欧美在线一二三区| 亚洲自拍偷拍福利| 欧美国产日本高清在线| 看欧美日韩国产| 国产精品国产a级| 亚洲国产精品久久久久秋霞不卡 | 激情欧美亚洲| 亚洲欧美制服另类日韩| 久久激五月天综合精品| 欧美亚洲三级| 美国十次成人| 午夜亚洲视频| 久久狠狠久久综合桃花| aⅴ色国产欧美| 久久三级视频| 久久久夜夜夜| 国产精品一卡二卡| 99国产一区| 亚洲精品午夜| 免费亚洲婷婷| 欧美 日韩 国产精品免费观看| 久久av资源网| 久久久免费观看视频| 欧美午夜电影在线| 亚洲精品美女在线观看播放| 韩国女主播一区| 欧美一区二区三区男人的天堂 | 99亚洲视频| 久久综合免费视频影院| 免费看成人av| 伊人久久亚洲热| 久久美女性网| 欧美激情免费观看| 亚洲美洲欧洲综合国产一区| 麻豆亚洲精品| 91久久在线| 一本色道久久加勒比88综合| 欧美人与性动交a欧美精品| 亚洲精品小视频在线观看| 中国日韩欧美久久久久久久久| 欧美伦理影院| 一区二区av在线| 亚洲欧美久久久| 国产一区成人| 免费观看亚洲视频大全| 亚洲国内欧美| 午夜欧美精品| 黄网动漫久久久| 另类成人小视频在线| 亚洲人精品午夜| 午夜国产一区| 韩国一区电影| 欧美好吊妞视频| 夜夜精品视频一区二区| 欧美一区二区三区免费视| 国内一区二区三区在线视频| 麻豆精品视频在线观看| 亚洲开发第一视频在线播放| 亚洲欧美一区二区精品久久久| 狠狠色丁香婷婷综合影院| 欧美精品大片| 性娇小13――14欧美| 欧美国产先锋| 午夜精品区一区二区三| 国语自产在线不卡| 欧美日韩一区二区在线观看视频| 亚洲影院免费观看| 亚洲国产精品成人| 欧美一区成人| 日韩视频在线免费| 久久久综合免费视频| 亚洲经典视频在线观看| 国产精品美女www爽爽爽| 久久另类ts人妖一区二区| 亚洲靠逼com| 欧美电影免费| 久久精品国产69国产精品亚洲| 亚洲免费成人av| 国产真实乱偷精品视频免| 欧美日本在线看| 久久久久在线| 午夜欧美理论片| 亚洲另类黄色| 欧美国产三级| 久久久久久久成人| 亚洲综合电影| 亚洲网友自拍| 亚洲六月丁香色婷婷综合久久| 国产一区二区三区在线观看免费| 欧美视频免费在线观看| 另类图片国产| 久久久久久久国产| 欧美亚洲在线| 亚洲欧美日韩在线高清直播| 一区二区免费在线观看| 亚洲国产欧美不卡在线观看| 麻豆精品网站| 久久综合伊人77777尤物| 欧美在线观看一二区| 午夜在线电影亚洲一区| 一区二区激情视频| 日韩视频永久免费| 亚洲另类一区二区| 亚洲精品影院在线观看| 亚洲精品免费看| 日韩视频一区二区| 日韩午夜视频在线观看| 亚洲久久一区| 亚洲免费观看高清完整版在线观看熊| 亚洲黄色一区| 亚洲精品欧美日韩专区| 亚洲另类自拍| 亚洲一区二区黄色| 亚洲欧美国产日韩天堂区| 亚洲一区影音先锋| 西西裸体人体做爰大胆久久久| 午夜精品久久久久久久久久久| 午夜精品久久久久久久99樱桃| 亚洲欧美影音先锋| 久久精彩视频| 久久综合久久综合九色| 欧美丰满少妇xxxbbb| 亚洲经典三级| 一区二区欧美日韩视频| 亚洲欧美大片| 久久亚洲精选| 欧美精品在线观看91| 欧美视频一区二区在线观看| 国产精品日韩欧美一区二区三区| 国产欧美一区二区精品秋霞影院 | 欧美精品91| 国产精品美女久久福利网站| 国产亚洲精品aa| 亚洲韩国青草视频| 在线亚洲一区| 久久久久高清| 亚洲欧洲日产国码二区| 亚洲欧美国产va在线影院| 久久综合国产精品| 欧美视频二区36p| 国产午夜精品久久| 亚洲精品国产品国语在线app| 亚洲一区二区三区欧美| 久久夜色精品国产亚洲aⅴ| 亚洲大胆女人| 亚洲综合99| 欧美a级大片| 国产欧美精品在线播放| 久久久一区二区| 精品成人国产| 亚洲高清视频一区| 亚洲欧美中文另类| 欧美高清视频www夜色资源网| 99精品国产99久久久久久福利| 久久精品噜噜噜成人av农村| 欧美日韩中文字幕日韩欧美| 一区二区三区在线观看欧美| 亚洲一区综合| 欧美国产视频日韩| 欧美一区午夜视频在线观看| 欧美日韩综合久久| 亚洲国产一区二区三区a毛片| 欧美伊久线香蕉线新在线| 亚洲国产精品福利| 久久精品亚洲一区| 国产精品美女999| 中文亚洲视频在线| 亚洲国产成人午夜在线一区| 欧美一区二区在线看|