MATLAB Answers

Running long simulations on Matlab Online

158 views (last 30 days)
Hi all,
I have Monte-Carlo simulations that take hours to finish (~ 17 hours). I was using a Desktop in my university Lab for this purpose, where I can keep it ON for days. But unfortunately, now I can't access it and I can't run Matlab on my laptop for that long time. By coincidence I discovered Matlab Online, and I'm wondering now is there a way to keep my code running on it even after I log out. Also, can it run 'parfor'.
Best Regards,

  0 Comments

Sign in to comment.

Accepted Answer

Edric Ellis
Edric Ellis on 8 Nov 2017
You could run a batch job submitted from your desktop machine to a cluster somewhere. You need access to a MATLAB Distributed Computing Server cluster installation. Perhaps your university already has one; otherwise, you might be able to take advantage of one of the cloud computing offerings that allow you to run batch jobs.

  2 Comments

Hussein Ammar
Hussein Ammar on 12 Nov 2017
I don't think I can get access to a cluster installation even if my university has one. Regarding cloud computing, is there any free online service that can run my Matlab file and return the result. Also, I think an online solution can run a lot of parallel workers that will finish the simulation in a much less time (on my PC I can only run 4 parallel workers and the simulation ends in about 17 hours).
Walter Roberson
Walter Roberson on 12 Nov 2017
I doubt you would be able to find a service that was willing to give you 17 hours of free computing (if services like that existed, people would use them for bitcoin mining.)
What you just might be able to find is a research computing service together with grants to pay for the service. For example, https://aws.amazon.com/grants/ or https://www.microsoft.com/en-us/research/academic-program/azure-research-award-ai-earth/

Sign in to comment.

More Answers (2)

Walter Roberson
Walter Roberson on 7 Nov 2017
Unfortunately, MATLAB Online will not keep running after you log out, and it also has an interaction time-out of 50 minutes.
I have no information about whether it can run parfor.

  3 Comments

Wolfgang Schwanghart
Wolfgang Schwanghart on 8 Aug 2019
I don't think so. I just tried
gcp
and it returns an empty pool object.
Walter Roberson
Walter Roberson on 8 Aug 2019
Indeed, Parallel Computing Toolbox is not one of the supported toolboxes listed at https://www.mathworks.com/products/matlab-online/limitations.html at present.
Walter Roberson
Walter Roberson on 29 May 2020
MATLAB Online only permits something less than 5 minutes of computation at a time, so it could not be used for this purpose anyhow.

Sign in to comment.


Anil Jangid
Anil Jangid on 29 May 2020
Background
You can add a custom function at the end of your script. For data preprocessing, the function should take the data returned from the datastore as input. It should return the transformed data as output.
function dataout = functionName(datain)
% do something with datain
dataout = ...
end
TASKCreate a function called scale at the end of the script that performs the following operations:
data.Time = (data.Time - data.Time(1))/1000;
data.X = 1.5*data.X;
Because these commands modify the variable data directly, your function should use data as both the input and output variable.
Note that the third line of the script calls the scale function. Your script won't run until this function has been created.
Also note that local functions must be at the end of a script. This means you will be editing the script sections out of order in this interaction. The section headings show which section of the script to edit in each task.

  1 Comment

Walter Roberson
Walter Roberson on 29 May 2020
This is not a solution to the question asked.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!