cv::solve OpenCV 3.1 vs. 3.2 speed
Dear OpenCV community
I decided to change to 3.2 but realized that in this version the cv::solve with DECOMP_QR is much slower than in 3.1. I observed increase even from 400ms to 12sec for large matrices.
I am using the standard configuration of OpenCV, with OpenCl and AVX2, on an i7 4770, without GPU . My question: is there a difference in using OpenCV 3.2 in comparison to 3.1? I could imagine there are some changes in the optimization of the code, but do I need to activate/deactivate something?
Finally, is there currently an optimal configuration for modern Intel i7 to gain maximum performance (without CUDA)?
Cheers
Is it possible to add a minimal reproducible code with data? Otherwise, what is the size of the matrix? Did you observe this discrepancy for certain values of matrix (e.g. matrix singularity) or the values did not matter?
After a quick look to the source code, it looks like
DECOMP_QR
method is instead replaced byDECOMP_SVD
in 3.1. To test this, can you try withDECOMP_SVD
with 3.2 version if it is possible?In 3.2,
DECOMP_QR
seems enabled and should use LAPACK to do that. To get the best performance on an Intel processor, I would recommand to use Intel MKL or OpenBLAS.