forum.alglib.net

ALGLIB forum
It is currently Sun Dec 22, 2024 11:13 pm

All times are UTC


Forum rules


1. This forum can be used for discussion of both ALGLIB-related and general numerical analysis questions
2. This forum is English-only - postings in other languages will be removed.



Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: rmatrixinverse with multithreading
PostPosted: Tue Oct 28, 2014 1:08 pm 
Offline

Joined: Tue Oct 28, 2014 1:06 pm
Posts: 4
Hello,

I'm new with alglib and i want to know if its possible to use the method rmatrixinverse with multithreading to perform the operations inversing the matrices. I was looking for documentation but i didnt find nothing about it.

Thanks for your responses


Top
 Profile  
 
 Post subject: Re: rmatrixinverse with multithreading
PostPosted: Wed Oct 29, 2014 9:37 am 
Offline
Site Admin

Joined: Fri May 07, 2010 7:06 am
Posts: 927
1. in the current ALGLIB version - no, it is not possible. In the upcoming 3.9.0 you will be able to do so.

2. However, nonsymmetric matrix inverse is much harder to parallelize than, say, matrix-matrix product. In our experiments significant speedups from multithreading were achieved only for N's larger than 1000.


Top
 Profile  
 
 Post subject: Re: rmatrixinverse with multithreading
PostPosted: Wed Oct 29, 2014 1:11 pm 
Offline

Joined: Tue Oct 28, 2014 1:06 pm
Posts: 4
Thanks a lot for your kickly response, i'm working with symetric matrices between 500 and 1500 N's as part of a linear system of type Ax=b. Can i do something with the current version for optimice the calcullation of the inverse?.

Thankyou for the help


Top
 Profile  
 
 Post subject: Re: rmatrixinverse with multithreading
PostPosted: Wed Oct 29, 2014 1:41 pm 
Offline
Site Admin

Joined: Fri May 07, 2010 7:06 am
Posts: 927
If we assume that performance of C# version is "one unit" then for inversion of positive-definite matrices with N=1024 we have following performance metric:
* ALGLIB for C# performance = 1.0
* ALGLIB for C++ (generic C) performance = 3.1x
* commercial ALGLIB single-threaded performance = 5.4x
* commercial ALGLIB 5-threaded performance = 13.7x = 2.5 * performance of single-threaded version

You may see that switching to high-performance computational core give significant speed-up. Multithreading gives significant speed-up for N=1024, but still sublinear. Of course, these metrics are related only to SPD matrix inversion, and are valid only for 3.8.2 and maybe 3.9.0.


Top
 Profile  
 
 Post subject: Re: rmatrixinverse with multithreading
PostPosted: Wed Oct 29, 2014 1:44 pm 
Offline
Site Admin

Joined: Fri May 07, 2010 7:06 am
Posts: 927
P.S If you use commercial edition of ALGLIB, I may send you a quick patch which will enable multithreaded acceleration for SPD matrices.


Top
 Profile  
 
 Post subject: Re: rmatrixinverse with multithreading
PostPosted: Thu Oct 30, 2014 10:27 am 
Offline

Joined: Tue Oct 28, 2014 1:06 pm
Posts: 4
Hi again,

I was cheking my matrices but they are not SPD, so i supose that i must try another thing or wait for the 3.9 version. Do you have any idea of the date of publication of the new version?. Thank you very much for your help.


Top
 Profile  
 
 Post subject: Re: rmatrixinverse with multithreading
PostPosted: Fri Oct 31, 2014 7:13 am 
Offline
Site Admin

Joined: Fri May 07, 2010 7:06 am
Posts: 927
3.9.0 is in the final stages of development. Several weeks, I hope...


Top
 Profile  
 
 Post subject: Re: rmatrixinverse with multithreading
PostPosted: Fri Oct 31, 2014 7:22 am 
Offline

Joined: Tue Oct 28, 2014 1:06 pm
Posts: 4
Thanks i'll wait for it ;)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 35 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group