作者ja000123 (Recluse)
站內Fortran
標題[問題] 平行演算
時間Wed Nov 14 13:59:49 2012
研究室開發之模式為FORTRAN所寫
近來想增加效能改成平行演算 多核心搭配多執行緒
不過小弟只學過C語言,沒學過FORTRAN
請教過學長,他說模式有C#的版本,可用C#來改寫平行化
但C#版本不是最新,需要改寫再做平行化
簡單說就是
1.FORTRAN為最新版本,只需改成平行化
2.C#需改寫成最新版本,再做平行化
目前我的方法是第二項,但程式碼架構頗大,需要花費不少時間與心力
因此有在考慮第一項的可行性
但也沒操作過,所以想請問版上FORTRAN高手,
如果整個程式架構都有了,改成平行化是否比較容易?
簡單做修改即可,還是仍需要花很大功夫才能寫出來?
從頭研究FORTRAN與平行演算是否會比第二項來的快速?
非常感謝板友們的回覆與建議 謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.63.161
※ 編輯: ja000123 來自: 140.112.63.161 (11/14 14:00)
1F:→ gilocustom:在模式架構的複雜性與演算法的可平行度皆未知的情況下 11/14 15:25
2F:→ gilocustom:無法簡單判斷哪個做法更容易。 11/14 15:27
3F:→ ja000123:嗯嗯,說的沒錯,但這也很難描述. 11/14 15:52
4F:→ ja000123:主要是針對模式中同一時段內不同模擬區去同步平行演算 11/14 15:54
5F:→ Cypresslin:C#找工作比較吃香XD 11/14 17:26
6F:→ kkarthur:在多核心之下平行化是打算用OpenMP嗎? 11/14 17:55
7F:→ kkarthur:若是OpenMP的話,應該是第一項會比較容易一點 11/14 17:57
8F:→ kkarthur:如果想採用MPI,可能還是用你熟悉的語言來寫會比較容易 11/14 18:00
9F:→ kkarthur:你可以利用openMP,簡單先把一些可平行化的程式碼包起來 11/14 18:02
10F:→ kkarthur:測試看看平行化效能 11/14 18:03
11F:→ biggun:我用openMP,改程式很快,但須懂整個架構。 11/14 19:26
應該是會用OpenMP,感謝大家的寶貴建議!我再好好研究看看,謝謝囉!
※ 編輯: ja000123 來自: 140.112.63.161 (11/15 11:22)