[問題] 多核心的電腦執行matlab程式越多 就越慢已回收

看板MATLAB作者 (明光聖堂)時間16年前 (2008/09/18 18:32), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
如題 我使用Matlab R2008a版 關閉多執行緒支援 個人電腦記憶體1條2G 我有一個程式A 當四核心電腦只執行一個A時 跑完某一區段的時間要6.x秒 我把A改變一些參數(與矩陣size無關 多為振幅等資訊) 而形成3種case 現在用3個核心來跑3種case 跑完該區段的時間變成要13.x秒 請問這正常嗎?? 在以前 是沒有這樣的問題的 只是最近把程式一些迴圈的部分改成矩陣化 才明顯出現這樣的問題 例如 for i=1:1001 X(:,:,i) = ..... => X= 啥矩陣行列運算的... end 難道矩陣化程度越高 每核心分配到的記憶體越來越擠 所以速度變慢了?? 不過我想應該是case by case吧 也許跟程式寫法有關 ps.如果開啟多執行緒會更慢... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.34.26.62

09/19 02:13, , 1F
這是多核心的問題:三核心跑三個程式不會比單核跑一個快
09/19 02:13, 1F

09/19 02:15, , 2F
這是computer architecture的一些東西~
09/19 02:15, 2F

09/19 17:36, , 3F
最好的使用方法為讓四核心給Matlab跑一個程式
09/19 17:36, 3F
文章代碼(AID): #18qYuo0r (MATLAB)
文章代碼(AID): #18qYuo0r (MATLAB)