作者assyrian (喔耶)
看板NTUEE_LAB206
標題Re: [研究] GPU的open source
時間Thu Aug 12 22:44:45 2010
※ 引述《neumann (€ΝΕμΜΑΝΝ€)》之銘言:
: GPUmat: GPU toolbox for MATLAB
: http://gp-you.org/
: 我們的是這塊
: http://www.nvidia.com.tw/object/product_tesla_C2050_C2070_tw.html
剛剛看了一下GPUmat的manual
把我看到的東西summarize一下:
1.安裝好VC++2008、CUDA lib以及CPUmat toolkit之後,就可在MATLAB裡直接
使用GPU來協助運算。
2.GPUmat可作高、低階的程式撰寫。
高階: 就像平常用的MATLAB一樣,只是變數得宣告成GPU接受的型別。
低階: 可直接用CUDA lib提供的函式做運算,或是控制GPU硬體(ex.memory)。
3.基本上,不管是在CPU、還是在GPU上跑的MATLAB func.,使用的函式名稱or運算子
看起來都一樣。唯一的差別的就在data type,它會決定該變數、函式執行的位置在CPU
或GPU。兩種變數不能混在同一個函式使用。
4.有函式可作CPU/GPU資料型別的轉換,但是manual上說耗時且降低performance。
感覺就是一台電腦裡面有兩個CPU在處理程式。
不過像MATLAB這種直譯式的編譯器,
它會一開始就把分屬CPU跟GPU的程式碼分開並同時編譯+執行嗎?
我覺得要做到這樣才算平行處理吧
如果可以的話,那CPU跟GPU的程式有依存性要怎麼辦?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.122
※ 編輯: assyrian 來自: 140.112.218.122 (08/12 22:48)
→ tonyatta:應該還是sequential的 只是原本要cpu幾個Thead循序 08/12 23:06
→ tonyatta:變成那幾行可以給GPU 超多processor一起跑 少loop幾次吧 08/12 23:07
→ tonyatta:依存性的問題不是compiler要解的 開發者得動腦筋 08/12 23:08
→ tonyatta:怎麼樣少做轉換 會是很重要的事情 最好都跑GPU or CPU 08/12 23:21
→ tonyatta:現在的問題在於 如果只是資料型別不同,function用的是 08/12 23:23
→ tonyatta:多重定義的function overloading,那他有哪些func能用 08/12 23:23
→ tonyatta:畢竟從頭寫起會很複雜. library有多少會很重要.. 08/12 23:24
→ assyrian:manual裡有把能用的function列出來 08/13 09:38
→ tonyatta:有我把他看完 意思就是 比較深入的數學方法要自己寫 08/13 22:44