ublas speed and multi-core processors

Hi, Is there any way to use ublas taking advantage of the multi-core facility of current processors? Even naive “strategies”, like breaking the number of rows of a targeted matrix expression across different threads would improve performance significantly, even if not optimally. It would be nice to be able to use the matrix expression templates to perform operations in a multi-threaded way. Is there any provision for this? Thank you for your help, Petros

Hi,
You may want to try Eigen instead.
Matthieu Brucher
2011/10/22 petros
Hi, Is there any way to use ublas taking advantage of the multi-core facility of current processors? Even naive “strategies”, like breaking the number of rows of a targeted matrix expression across different threads would improve performance significantly, even if not optimally. It would be nice to be able to use the matrix expression templates to perform operations in a multi-threaded way. Is there any provision for this? Thank you for your help, Petros
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Information System Engineer, Ph.D. Blog: http://matt.eifelle.com LinkedIn: http://www.linkedin.com/in/matthieubrucher

Hi Matthieu,
I considered Eigen, but have already invested a lot of time/effort with ublas.
The main issue with Eigen is that it did not provide (at least at first sight) with
any handling of the allocator.uBLAS does so through the unbounded_array
input and this is very useful in overwriting allocation functionality.
Also, I am really looking for wrapping LAPACK, since I don’t believe in rewriting code
that is mature, works very well and has been optimized over a long period
of time ( as happens with mkl ) and covers a plethora of numerical algorithms (as LAPACK does).
But, there should be an answer within the uBLAS confines, right?
Thank you for your help,
Petros
From: Matthieu Brucher
Sent: Saturday, October 22, 2011 1:43 PM
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] ublas speed and multi-core processors
Hi,
You may want to try Eigen instead.
Matthieu Brucher
2011/10/22 petros

On 2011-10-22 20:07, petros wrote:
Hi Matthieu, I considered Eigen, but have already invested a lot of time/effort with ublas. The main issue with Eigen is that it did not provide (at least at first sight) with any handling of the allocator.uBLAS does so through the unbounded_array input and this is very useful in overwriting allocation functionality. Also, I am really looking for wrapping LAPACK, since I don’t believe in rewriting code that is mature, works very well and has been optimized over a long period of time ( as happens with mkl ) and covers a plethora of numerical algorithms (as LAPACK does). But, there should be an answer within the uBLAS confines, right? Thank you for your help, Petros
Hello Petros, are you aware of the existance of the Boost.Numeric_Bindings project? It is the glue between (optimised) algorithms from LAPACK, BLAS, and more and containers such as those provided by uBLAS. It may be found in Boost's sandbox at http://svn.boost.org/svn/boost/sandbox/numeric_bindings/ Cheers, Rutger

Hi Rutger, Thank you fo the reminder. We have spoken already. However, please notice that my question is very specific on multi-threading uBLAS vector and matrix expressions. Thank you for your effort to help. Petros -----Original Message----- From: Rutger ter Borg Sent: Sunday, October 23, 2011 7:06 AM To: boost-users@lists.boost.org Subject: Re: [Boost-users] ublas speed and multi-core processors On 2011-10-22 20:07, petros wrote:
Hi Matthieu, I considered Eigen, but have already invested a lot of time/effort with ublas. The main issue with Eigen is that it did not provide (at least at first sight) with any handling of the allocator.uBLAS does so through the unbounded_array input and this is very useful in overwriting allocation functionality. Also, I am really looking for wrapping LAPACK, since I don’t believe in rewriting code that is mature, works very well and has been optimized over a long period of time ( as happens with mkl ) and covers a plethora of numerical algorithms (as LAPACK does). But, there should be an answer within the uBLAS confines, right? Thank you for your help, Petros
Hello Petros, are you aware of the existance of the Boost.Numeric_Bindings project? It is the glue between (optimised) algorithms from LAPACK, BLAS, and more and containers such as those provided by uBLAS. It may be found in Boost's sandbox at http://svn.boost.org/svn/boost/sandbox/numeric_bindings/ Cheers, Rutger _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (3)
-
Matthieu Brucher
-
petros
-
Rutger ter Borg