[問題] 演算

看板Fortran作者 (Recluse)時間12年前 (2012/11/14 13:59), 編輯推噓0(0011)
留言11則, 5人參與, 最新討論串1/1
研究室開發之模式為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)

11/14 15:25, , 1F
在模式架構的複雜性與演算法的可平行度皆未知的情況下
11/14 15:25, 1F

11/14 15:27, , 2F
無法簡單判斷哪個做法更容易。
11/14 15:27, 2F

11/14 15:52, , 3F
嗯嗯,說的沒錯,但這也很難描述.
11/14 15:52, 3F

11/14 15:54, , 4F
主要是針對模式中同一時段內不同模擬區去同步平行演算
11/14 15:54, 4F

11/14 17:26, , 5F
C#找工作比較吃香XD
11/14 17:26, 5F

11/14 17:55, , 6F
在多核心之下平行化是打算用OpenMP嗎?
11/14 17:55, 6F

11/14 17:57, , 7F
若是OpenMP的話,應該是第一項會比較容易一點
11/14 17:57, 7F

11/14 18:00, , 8F
如果想採用MPI,可能還是用你熟悉的語言來寫會比較容易
11/14 18:00, 8F

11/14 18:02, , 9F
你可以利用openMP,簡單先把一些可平行化的程式碼包起來
11/14 18:02, 9F

11/14 18:03, , 10F
測試看看平行化效能
11/14 18:03, 10F

11/14 19:26, , 11F
我用openMP,改程式很快,但須懂整個架構。
11/14 19:26, 11F
應該是會用OpenMP,感謝大家的寶貴建議!我再好好研究看看,謝謝囉! ※ 編輯: ja000123 來自: 140.112.63.161 (11/15 11:22)
文章代碼(AID): #1GepDO1s (Fortran)
文章代碼(AID): #1GepDO1s (Fortran)