作者muto52 (囧)
看板Fortran
標題Re: [問題] 關於64位元和多核心運算的問題
時間Fri Jul 10 23:51:27 2009
※ 引述《bjorn607 (比用)》之銘言:
: ※ 引述《happyadam (大白熊狗)》之銘言:
: : 我目前使用的fortran版本為6.5
: : 所用的電腦為四核心
: : 每次跑程式時,只有單核心跑到百分之百
: : 而我最大的問題就是程式跑太慢了
: : 所以想嘗試把fortran灌到XP64位元
: : 但是電腦卻顯示此版本無法相容
: : 請問有什麼版本的fortran可以灌在64位元或可以多核心運算
: : 謝謝
: 6.5是指compaqe visual fortran嗎?
: 要利用四核心的話,可以搜一下版上文章
: 基本上必須要你的程式碼演算法作改寫,才能以多核心作運算,
: 否則fortran一樣只會從頭算到尾!
: xp64bit我知道的intel fortran 11 64bit有支援,也支援MP(multi processes)的語法
: 但要裝對版本,link或build要注意compiler設定對不對,是不是用x64
: 會裝64bit主要都是為了記憶體使用問題,演算法需要大量記憶體,
其實我遇到跟筆者一樣的問題。
我的程式也是需要大量的運算時間跟記憶體
所以我老闆支援我買了一台 Inter(R) Core(TM) i7 CPU + 12 G RAM
但我的程式也是沒有支援平行運算(code沒平行化)
改程式似乎就是個好大好大的工程了
所以我只能一次丟好幾個下去跑,然後看三四個cpu同時交替使用
似乎灌64 bits的電腦也無法增加計算速度....
不過昨天我學長跟我說現在是不是有某些特定的compiler方式可以支援
不用改寫code,但他可以幫助你做平行計算的程式?
不知道版上有沒有大大有這方面的經驗的......
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.175.218.53
1F:→ agody:不改寫code理論上不能平行運算,因為程式某些區域可以平行化 07/11 00:07
2F:→ agody:某些部份不行,他無法判斷,亂平行化會出問題. 不過我也是有 07/11 00:08
3F:→ agody:聽過Matlab新版有運用多核心在運算,只是我認為(憑空想)應該 07/11 00:08
4F:→ agody:不是指妳自己寫數值運算那部份吧,應該是他的內部toolbox拉成 07/11 00:09
5F:→ agody:的計算,不過純粹計算我覺得Matlab太慢了 07/11 00:09
7F:→ chaoscat:不改code的話 可以用intel的complier加上-fast的參數 07/30 14:05
8F:→ chaoscat:讓complier對程式在做迴圈的部份做向量化以改善程式效率 07/30 14:08