There is no Cloud Parallel Computing for Home Users ?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Flavio
el 18 de Oct. de 2018
Comentada: Stephan
el 19 de Oct. de 2018
I have a copula fitting computing problem with 21 stocks, which with 4 cores an 8 hours running it cannot compute. Therefore I tried to look for a solution in the cloud, however I found out that Home Users cannot have access to then....therefore no solution to my problem, is that correct ?
5 comentarios
Stephan
el 18 de Oct. de 2018
Glad to hear. Please accept helpful answers in order to help people with similar Problems find helpful answers.
Respuesta aceptada
Stephan
el 18 de Oct. de 2018
Editada: Stephan
el 18 de Oct. de 2018
Hi,
your code is not written in a way that it performs the calculations in parallel - have a look at statset. This is the way you tell the copulafit function to do parallel and other options. First find out the standard options for copulafit:
>> oldopts = statset('copulafit')
oldopts =
struct with fields:
Display: 'off'
MaxFunEvals: 200
MaxIter: 100
TolBnd: 1.0000e-06
TolFun: []
TolTypeFun: []
TolX: 1.0000e-06
TolTypeX: []
GradObj: []
Jacobian: []
DerivStep: []
FunValCheck: []
Robust: []
RobustWgtFun: []
WgtFun: []
Tune: []
UseParallel: []
UseSubstreams: []
Streams: {}
OutputFcn: []
Parallel is not active by standard. To set parallel, start a parallel pool first by parpool command:
>> parpool
Starting parallel pool (parpool) using the 'local' profile ...
connected to 4 workers.
Then use:
>> options = statset(oldopts,'UseParallel',true)
options =
struct with fields:
Display: 'off'
MaxFunEvals: 200
MaxIter: 100
TolBnd: 1.0000e-06
TolFun: []
TolTypeFun: []
TolX: 1.0000e-06
TolTypeX: []
GradObj: []
Jacobian: []
DerivStep: []
FunValCheck: []
Robust: []
RobustWgtFun: []
WgtFun: []
Tune: []
UseParallel: 1
UseSubstreams: []
Streams: {}
OutputFcn: []
Of course you can do the same in your script and supress outputs with ';' - but for showing hot the difference is, it is better this way i guess.
Then change the call of copulafit so that it uses those options above:
[rho, nu] = copulafit('t', U, options);
Now the calculation should run in parallel mode.
If this is still to slow consider:
[rho,nu] = copulafit('t',[u v],'Method','ApproximateML', options);
This method can be faster but less accuracy on small or middle data - resd this link of the documentation to learn more:
Best regards
Stephan
3 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Parallel Computing Fundamentals en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!