Filter löschen
Filter löschen

MATLAB closing when beginning parallel processing

12 Ansichten (letzte 30 Tage)
BobbyRoberts
BobbyRoberts am 7 Mai 2022
Beantwortet: Shivang am 22 Nov. 2023
It was working all day while I troubleshooted some things. Now, for some reason, MATLAB closes without any warning - just shuts off - when starting the parallel computing using the Parfor function. Does anyone have any ideas to what could be causing this issue? Thanks.
  2 Kommentare
Riccardo Scorretti
Riccardo Scorretti am 8 Mai 2022
I see three possible options (but without the code it is hard to help you):
  1. Unreprodutcible error: sometimes it happens; like any program of more than a single line, MATLAB is not exempt from bugs.
  2. Out of memory: it may be possible that you are running out of memory. Can you check this with a reduced dataset, or by running on another computer with more memory?
  3. Invalid MEX function: if you wrote MEX functions, and you use them in a parallel section, perhaps you can have some troubles (depending what you are doing, and how you are doing exactly) with work sharing by using parallel for. I admit I have no experience with this particular point.
BobbyRoberts
BobbyRoberts am 8 Mai 2022
Thanks, Riccardo. My memory is fine, and the code was working before..
I think the problem started after I quit MATLAB mid-function a couple times. I'm thinking that it could be because there's still something running or open in the background. I can't seem to find out what, but I'm hopinng there's some type of function to basically reset this. However, restarting the program or the computer did not fix it either.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Shivang
Shivang am 22 Nov. 2023
Hi,
I understand you are facing an issue where MATLAB shuts off when using the 'parfor' function.
While it is hard to pinpoint an issue without the code and the crash logs, you can try the following approach. Move the parfor-loop into a local function in the 'main file', passing any variables into and out of the local function as input and output arguments respectively.
From:
main.m
% user-code berfore parfor-loop
parfor i=1:10
% user-code
end
To:
main.m (modified)
% user-code berfore parfor-loop
runParforLoop()
function ParforLoop()
parfor i=1:10
% user-code
end
end
Refer to this documentation link for more details regarding local functions: https://www.mathworks.com/help/matlab/matlab_prog/local-functions.html
Hope this helps.
-Shivang

Kategorien

Mehr zu Parallel for-Loops (parfor) finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by