Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

41
  • 2
    $\begingroup$ 4 cores rather than 8 might be a license limitation. $\endgroup$ Commented Sep 23, 2012 at 7:29
  • 2
    $\begingroup$ @makmaak, do you have 8 cores or 4 plus hyperthreading? If that is the case the MKL will not only use the true number of cores for performance reasons. $\endgroup$ Commented Sep 23, 2012 at 14:26
  • 1
    $\begingroup$ Can you divide the area over which you want to minimize in 8 parts? If so, you could try ParallelTable to start parallel evaluations in all those areas. Pick the lowest result from the table returned. $\endgroup$ Commented Sep 23, 2012 at 15:05
  • 1
    $\begingroup$ 4 cores plus SMT is still 4 cores, so you'll only suffer by running 8 threads of LinearSolve on a 4-core CPU. For other types of workload that aren't as well optimized it isn't always so clear, but you can try SetSystemOptions["ParallelOptions" -> "ParallelThreadNumber" -> 8], which I found gave a boost of about 20% in this question, which also relates to NMinimize. Don't expect miracles from SMT; "CPU usage" as reported by the system monitor usually does not correspond in any direct way to actual performance. $\endgroup$ Commented Sep 23, 2012 at 17:51
  • 1
    $\begingroup$ Also, what minimization method are you using? Not all methods are particularly amenable to parallelization, even in principle. In those cases you are basically stuck with domain decomposition as suggested by Sjoerd. $\endgroup$ Commented Sep 23, 2012 at 18:05