There is no Cloud Parallel Computing for Home Users ?
    2 ビュー (過去 30 日間)
  
       古いコメントを表示
    
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 件のコメント
  Stephan
      
      
 2018 年 10 月 18 日
				Glad to hear. Please accept helpful answers in order to help people with similar Problems find helpful answers. 
採用された回答
  Stephan
      
      
 2018 年 10 月 18 日
        
      編集済み: Stephan
      
      
 2018 年 10 月 18 日
  
      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 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

