作者a4g5i6sefben (a4g5i6)
看板Fortran
標題[問題] 請問各位利用CUDA把FORTRAN CODE加速的一些問題
時間Sun Jul 3 04:43:28 2011
不好意思,我想請問一下各位有使用過GPU平行化的程式(CUDA),
利用此功能能讓我們的code加快多少倍
能請各位給我您所使用的
GPU型號(例如Tesla C1060,C2050.C2070.....)
code是計算什麼的(例如積分.解矩陣或積分.....)
用幾個核心來跑code
來做參考(如果有一些小細節會些微影響跑的時間,那些可以不用理會)
在我的想法中,理論上用多少核心跑,我們所要平行化的部分就會加快多少,
但也要考慮電腦可能會delay,所以會延遲一下,因此我才想問實際是跑多快
我會問這個的原因是因為我是一個研究生,
我們實驗室目前是用openmp加速,也就是利用CPU來加速,但CPU的核心數不會比GPU來的多,
假如用4個CPU跑積分最多才加速2~3.4倍,並不會完全增加4倍,我們實驗室想買GPU,
現在還在評估階段,但怕GPU的加快速度比CPU還來的差,目前沒有機台可供我們測試,
因此來此板問各位用過GPU的大大,能讓我回報我們教授,感謝各位的幫助
P.S.假如各位有其他想法可以回復告知我,謝謝!!(我們實驗室用的程式是FORTRAN)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.128.39
1F:推 Semisphere:一切看演算法可供平行化的部份多不多,若真要研究請先 07/03 16:33
2F:→ Semisphere:把既有的演算法搞懂才能知道GPU加速程度,另也可前往 07/03 16:34
3F:→ Semisphere:c++版 /openmp,有很多資訊可供參考 07/03 16:35
4F:推 callmei:CUDA不是這樣設計的 跟一般多核心平行化會有些不太一樣 07/03 17:56
5F:→ callmei:如果照本宣科把CPU平行化的演算法套到GPU上 不一定會較快 07/03 17:58
6F:→ callmei:簡單說就是很可能要重新設計演算法 很難這樣簡單地去比較 07/03 17:59
7F:→ Semisphere:看到有人推文,我才發現打錯關鍵字 /cuda 07/03 18:33
8F:推 callmei:補充一下 GPU程式寫得好真的會很快XDDDD 只有一個爽字!!! 07/03 19:15
9F:推 kusork:n個CPU不可能跑出n倍速度 資料傳遞也是要時間的 07/03 19:48
10F:→ blc:cpu好像有個共用記憶體的架構,不過不熟… 07/03 22:47
11F:推 acyang:請問callmei或Semisphere大大,如果有mpi開發經驗 07/04 09:16
12F:→ acyang:是不是比較容易入門CUDA? 07/04 09:17
13F:推 meteorology:快4~6倍 07/04 19:57
14F:推 callmei:不曉得耶~我覺得CUDA的grid/block/thread蠻像電腦叢集的 07/04 23:24
15F:→ callmei:所以我想有用MPI開發過電腦叢集程式 應該是有幫助的 07/04 23:25
16F:→ callmei:只是一個是計算時脈低 平行單元多 資料傳輸快 07/04 23:26
17F:→ callmei:一個是計算時脈高 平行單元少 資料傳輸慢 07/04 23:26
18F:→ callmei:所以開發程式時該顧慮的點會不太一樣 而且CPU快取也較大 07/04 23:27
19F:→ callmei:而且我不是大大 我現在還在練習把小程式改成CUDA的階段 07/04 23:29
20F:→ callmei:蠻希望有高手出來教學一下的 自己找資料摸索真的太累了.. 07/04 23:30
21F:→ onezillion:亂入一問:記憶體部分若要用到超過20G怎麼辦 07/06 09:39
22F:→ onezillion:使用外部ram嗎?還是只能用GDDR? 07/06 09:40
23F:推 callmei:可能得做多次的數據交換和分批計算吧??或是用很多張顯卡?? 07/11 04:21
24F:→ callmei:不過我不知道CUDA架構下 顯卡串聯 記憶體有沒有共享就是了 07/11 04:22