Re: [問題] 關於64位元和多核心運算的問題

看板Fortran作者 (囧)時間15年前 (2009/07/10 23:51), 編輯推噓0(008)
留言8則, 3人參與, 最新討論串3/4 (看更多)
※ 引述《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

07/11 00:07, , 1F
不改寫code理論上不能平行運算,因為程式某些區域可以平行化
07/11 00:07, 1F

07/11 00:08, , 2F
某些部份不行,他無法判斷,亂平行化會出問題. 不過我也是有
07/11 00:08, 2F

07/11 00:08, , 3F
聽過Matlab新版有運用多核心在運算,只是我認為(憑空想)應該
07/11 00:08, 3F

07/11 00:09, , 4F
不是指妳自己寫數值運算那部份吧,應該是他的內部toolbox拉成
07/11 00:09, 4F

07/11 00:09, , 5F
的計算,不過純粹計算我覺得Matlab太慢了
07/11 00:09, 5F

07/11 12:45, , 6F

07/30 14:05, , 7F
不改code的話 可以用intel的complier加上-fast的參數
07/30 14:05, 7F

07/30 14:08, , 8F
讓complier對程式在做迴圈的部份做向量化以改善程式效率
07/30 14:08, 8F
文章代碼(AID): #1ALsE2vk (Fortran)
文章代碼(AID): #1ALsE2vk (Fortran)