[問題] 演算

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

Links booklink

Contact Us: admin [ a t ] ucptt.com