CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

Efficient methods for solving thousands of right-hand-sides?

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 12, 2010, 18:59
Default Efficient methods for solving thousands of right-hand-sides?
  #1
New Member
 
Bob Edwards
Join Date: Nov 2010
Posts: 1
Rep Power: 0
bedward is on a distinguished road
Hello, in my application I have to solve a large sparse SPD linear system for thousands of right-hand-sides as part of a numerical simulation package. Currently I am using matlab, and the algorithm uses metis pre-ordering, cholesky factorization, and then uses parfor loops to parallelize the forward/back substitution solves to as many threads as there are CPU cores. The implementation is surprisingly efficient, but there are several drawbacks, most notably that the matlab parfor creates a copy of the sparse factorization of the system to each thread, which is a large overhead as the matrix factorization is many gigabytes.

I am coding in C++ now, and exploring tools and libraries for simultaneously solving thousands of right-hand-sides on a standard multi-core desktop PC (i7 quadcore type machine).

My current approach is going to be to use metis+cholmod to factor the system, and then use OpenMP to possibly parallelize the solution, but I would welcome any other suggestions. For now I am trying to keep the implementation to be non-mpi, that is, running on a single machine, but will likely explore using MPI in the future.

Cheers,

Bob
bedward is offline   Reply With Quote

Old   November 13, 2010, 11:44
Default
  #2
Member
 
Anonymous
Join Date: Jul 2009
Posts: 44
Rep Power: 17
gerritgroot is on a distinguished road
I don't know what SPD means, can't you just use LU decomposition?
That's very efficient for many RHsides
gerritgroot is offline   Reply With Quote

Old   November 13, 2010, 23:55
Default
  #3
Super Moderator
 
Praveen. C
Join Date: Mar 2009
Location: Bangalore
Posts: 343
Blog Entries: 6
Rep Power: 18
praveen is on a distinguished road
How are the thousands of solutions going to be used ? Perhaps there is a better way to do it if you explain your situation.
praveen is offline   Reply With Quote

Old   November 15, 2010, 17:02
Default
  #4
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,285
Rep Power: 34
arjun will become famous soon enougharjun will become famous soon enough
i have written smoothed multigrid lib in c++ that i use in cfd code. I intend to put it online as open source.
(This is based on algo as explained in pyAMG code which is already available as opensource).
arjun is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Any questions about Runge-Kutta methods Runge_Kutta Main CFD Forum 33 September 9, 2019 17:32
comments on FDM, FEM, FVM, SM, SEM, DSEM, BEM kenn Main CFD Forum 2 July 18, 2004 19:28
I just wonder why "SIMPLE" Junseok Kim Main CFD Forum 21 May 20, 2001 09:47


All times are GMT -4. The time now is 02:57.