Does QR Use Intel Thread Building Blocks?

3 visualizzazioni (ultimi 30 giorni)
Stuart
Stuart il 18 Lug 2013
Does MATLAB 2012b or a later version use Intel’s Threading Building Blocks (TBB) with its QR algorithm to take advantage of a multicore CPU? If not, is there a reason why? MATLAB's QR algorithm relies on the SuiteSparseQR code, which has the capability to use TBB. But the SuiteSparseQR web page says that MATLAB 2012a QR does not use Intel’s TBB: http://www.cise.ufl.edu/research/sparse/SPQR/. According to MATLAB documentation, MATLAB’s QR does use some form of multithreading on a multicore CPU: http://www.mathworks.com/help/matlab/math/factorizations.html; see the bottom on “Using Multithreaded Computation for Factorization.”

Risposte (1)

Jan
Jan il 19 Lug 2013
Matlab is a very conservative program and the compatibility is an important part of the design. If Matlab 2012b replies a (slightly) other result on a Quad-Core than 2011b on a Single-Core user get nervous.
There have been several difficulties when Multi-Threading has been enabled for a specific command. Trivial examples:
  • SUM in 2009a uses multiple threads, when the input length is >= 89000, but unfortunately the results have been accumulated in the order the threads are finished, such that the result can differ by rounding effects from run to run. In newer versions SUM accumulates the result reproducible again.
  • FILTER is multi-threaded, when more than 16 channels are processed. But of course 2 thread would be great to filter a [1e9 x 2] matrix also.
If any tool has a valid and validated multi-threading implementation already, there will be good reasons not to add this to Matlab directly. The user does have the chance to create a C-Mex function to call the faster version and this is a very good idea in many cases. But the total community profits in general from the conservative strategy.
  1 Commento
Stuart
Stuart il 22 Lug 2013
MATLAB's QR does use BLAS threading. The question is whether QR also uses Intel TBB threading.

Accedi per commentare.

Categorie

Scopri di più su Execution Speed in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by