Forums - EigenSolver is slower when use QSML

2 posts / 0 new
Last post
EigenSolver is slower when use QSML
shengxd1
Join Date: 23 Feb 17
Posts: 15
Posted: Tue, 2017-12-26 23:07
When I use qsml for eigen, the EigenSolver function is much slower than eigen without QSML, both sequtial and parellel version of QSML
 
I think the reason is the matrix size is small. but in the project, there small matrix in some cases.
 
 
void test_eigen_value()
{

MatrixXd A = MatrixXd::Random(9,9);
std::chrono::steady_clock::time_point t1 = std::chrono::steady_clock::now();

Eigen::EigenSolver<Eigen::MatrixXd> es(A);

std::chrono::steady_clock::time_point t2 = std::chrono::steady_clock::now();

double timeSpent =std::chrono::duration_cast<std::chrono::duration<double>>(t2-t1).count();
std::cout << "time used: " << timeSpent*1000 <<" ms" << endl;
 
Eigen::MatrixXcd eigval = es.eigenvalues();

}

 

  • Up0
  • Down0
rakihasa
Join Date: 21 Sep 17
Posts: 27
Posted: Mon, 2018-10-29 18:16

Hi shengxd1, 

A new version of the library (now named QML, version 1.0.0) is released. Please give it a try.

This release includes performance improvements of various routines for very small inputs.

If it is still slower, can you provide details (e.g. device information, build information, etc.) of your experiment so that I can try to reproduce the issue on my end and find the root cause.

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.