When calling MOSEK as the solver, I noticed that it detects and uses all available cores on the machine to solve the problem:
Calling Mosek 7.0.0.92: 15001 variables, 5001 equality constraints
For improved efficiency, Mosek is solving the dual problem.
------------------------------------------------------------
MOSEK Version 7.0.0.92 (Build date: 2013-11-13 13:19:59)
Copyright (c) 1998-2013 MOSEK ApS, Denmark. WWW: http://mosek.com
Computer
Platform : Linux/64-X86
Cores : 8
Problem
Name :
Objective sense : min
Type : CONIC (conic optimization problem)
Constraints : 5001
Cones : 1
Scalar variables : 15001
Matrix variables : 0
Integer variables : 0
Optimizer started.
Conic interior-point optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator - tries : 0 time : 0.00
Eliminator - elim's : 0
Lin. dep. - tries : 1 time : 0.71
Lin. dep. - number : 0
Presolve terminated. Time: 5.87
Optimizer - threads : 8
is there a way to specify in the cvx preferences how many cores to use?
Preferably, I would like to run all my jobs using single cores. I did not notice the same issue when using SeDuMi or SDPT3 as these by default use a single core.
Thanks!
Edit:
Thank you for the response.
I actually found the MOSEK parameter that controls the number of threads:
MSK_IPAR_NUM_THREADS
http://docs.mosek.com/7.0/tools/MSK_IPAR_NUM_THREADS.html
MOSEK documentation states that the default parameter is 0 which sets the number of threads used to the number of cores detected on the machine.
The parameter is integer with values greater or equal to 0.
How can I pass a new parameter value for this using cvx_solver_settings?