Tôi có Matlab R2012b cho Ubuntu 64 bit. Tôi có CPU Intel Core i3 M 330 @ 2.13GHz × 4.Cách song song 4 hoạt động với PARFOR với một lõi i3 trong Matlab
Tôi muốn sử dụng parfor để song song 4 vòng cùng một lúc. Vì lý Intel Core i3 có 2 lõi và 4 Chủ đề tôi sử dụng mã này:
if matlabpool('size') == 0 % checking to see if my pool is already open
matlabpool(4)
else
matlabpool close
matlabpool(4)
end
Và tôi xin lỗi sau:
Lỗi:
You requested a minimum of 4 workers, but the cluster "local" has the NumWorkers property set to allow a maximum of 2 workers. To run a communicating job on more workers than this (up to a maximum of 12 for the Local cluster), increase the value of the NumWorkers property for the cluster. The default value of NumWorkers for a Local cluster is the number of cores on the local machine.
Tại sao? Giá trị mặc định của NumWorkers trong máy của tôi là 2 nhưng nếu tôi có thể thực hiện 4 vòng cùng một lúc, làm thế nào để có được nó?
Có, đây là thực sự chính xác. +1 – Jonas
Hai câu hỏi: tại sao nhiều công nhân hơn lõi giảm hiệu suất? Làm thế nào tôi có thể biết giá trị mặc định của NumWorkers cho một cụm cục bộ? –
Giá trị mặc định là số lõi vật lý (điều này thậm chí được nêu trong thông báo lỗi bạn đã trích dẫn trong câu hỏi của bạn). Nhiều nhân viên hơn lõi * có thể * giảm hiệu suất của bạn bởi vì chúng không chạy trên các lõi vật lý riêng biệt, tức là chúng có thể ảnh hưởng lẫn nhau. –