I am using cvx for my problem and my iterative algorithm converges in windows and cvx does not fail; however when I use my code in hpc linux server ,cvx does not fail to solve the problem but algorithm does not converge .(I tried both in parallel and not parallel, result is same). In both instances I use exact same code. What might cause the problem ?
Is CVX’s successive approximation method being used? There are no guarantees that method will converge.
Under different OS’s and perhaps different versions of MATLAB, rounding on some calculation might differ, even if only in the last bit. Are the CVX version and build the same for the two configurations - that could also make a difference. Is the same solver being called by CVX in both configurations? What about the solver builds (for instance different versions of MOSEK or Gurobi)?
Any of these could potentially change the performance of the algorithm. If under one OS the algorithm was on the edge of disaster, but converging, then the slightest perturbation, for example due to a difference in roundoff, might tip it into failure to converge. This could potentially happen even without successive approximation method being used, due to bad numerics of the problem due to scaling, lack of strict interior for a nonlinear cone, or otherwise.
If you provide a complete reproducible problem, with all input data, and show us the output under both configurations, and including results of
cvx_version, you might be able to get more specific assessment or guidance.