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

Aztec - sparse matrix paralell solver

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 30, 2001, 14:18
Default Aztec - sparse matrix paralell solver
  #1
Astrid
Guest
 
Posts: n/a
Has anyone used the Aztec? I am thinking of using it in my 2D-FEM NS modeling code. I would like some hints. Is it really practical? Does it use other packages? Thanks, Astrid
  Reply With Quote

Old   July 30, 2001, 15:28
Default Re: Aztec - sparse matrix paralell solver
  #2
Dr Strangelove
Guest
 
Posts: n/a

I've had good experience with Aztec and used it for a variety of N-S and other problems in 2D and 3D, where the iterative solver performance is invaluable for ill-conditioned sparse unstructured systems of equations.

It takes a while to get the API set up properly, but once you have done it, then Aztec works very well, including on distributed memory machines.

Under the covers, Aztec makes use of parts of LINPACK, LAPACK, blas and y12m, in addition to many of its own preconditioner implementations.
  Reply With Quote

Old   July 31, 2001, 07:23
Default Re: Aztec - sparse matrix paralell solver
  #3
Astrid
Guest
 
Posts: n/a
It is good to know it works well! It seems there is really the necessity to invest some time to get it working! The manual doesn't look very clear and neither the installation. During the installation some codes are mailed from Netlib, but mine just don't come in! Is there any other way to get those files?

Another question I have is in how to prepare the matrix for computation. At the moment I use y12m, with indexes for rows and columns. For the Aztec is there any necessity of preparing the matrices for the processors?

Thanks for a beginner in paralell processing, Astrid
  Reply With Quote

Old   July 31, 2001, 11:40
Default Re: Aztec - sparse matrix paralell solver
  #4
Dr Strangelove
Guest
 
Posts: n/a

I agree - the klunky way of retrieving files from netlib as part of the Aztec install is annoying. I haven't done it in a few years. If you examine the retrieval script you can determine the pieces of FORTRAN code you'll need. If that doesn't work, let me know and I can email them to you.

With regards to your second question, you'll need to become accustomed to the compressed sparse row format for matrix storage. It's efficient for sparse matrices and basically consists of storing all of the matrix values in a big one dimensional array, which is accessed in conjunction with a second array of row indeces corresponding to the nonzero values.

The manual is more complicated and less clear than it could be on this matter, but persistence pays off in the end.

The parallel matrix solution is facilitated by the DMSR matrix format. Do the serial implementation first, then you'll be ready to learn the intracacies of the parallel implementation. Aztec purports to make this easier for you, but it's still a challenging task.
  Reply With Quote

Old   July 31, 2001, 15:20
Default Re: Aztec - sparse matrix paralell solver
  #5
Astrid
Guest
 
Posts: n/a
Do you think Petsc is more users friendly? Would it be a better choice for me? Once I choose one a lot of time must be invested, it will be dificult to change afterwards.

The files needed for instalation are listed in netlib_mail (wich I canot attach here). They must be renamed and processed, am I correct?

About the sparse matrix treatment, I already have my matrix transformed in a vector with pointers for rows and columns. In the manual it seems I must separate this matrix for each processor. Isn't there a code that does that? It is not clear. Anyway it is a good advice to start with serial and after go to paralell.

Cheers, Astrid

  Reply With Quote

Old   July 31, 2001, 17:40
Default Re: Aztec - sparse matrix paralell solver
  #6
Dr Strangelove
Guest
 
Posts: n/a
Do you think Petsc is more users friendly? Would it be a better choice for me? Once I choose one a lot of time must be invested, it will be difficult to change afterwards. <blockquote>I haven't used PetSC, only Aztec. However, the PetSC documentation seems to be friendlier than Aztec's.</blockquote>

The files needed for instalation are listed in netlib_mail (wich I canot attach here). They must be renamed and processed, am I correct? <blockquote>You are correct. To save you some time, I will email you the set of renamed netlib files that are needed to get Aztec to build.</blockquote>

About the sparse matrix treatment, I already have my matrix transformed in a vector with pointers for rows and columns. In the manual it seems I must separate this matrix for each processor. Isn't there a code that does that? It is not clear. Anyway it is a good advice to start with serial and after go to paralell. <blockquote>Yes, you'll need to decide how to distribute the rows of the global matrix over the different processors.For simple structured grid problems usually you can do this by inspection.For unstructured grid problems, you'll probably need to use a graph partitioner, such as MeTiS. Unless PetSC includes a graph partitioner, you'll need to learn how to use one, regardless of which of the 2 parallel linear solver packages you end up choosing. Good luck.</blockquote>
  Reply With Quote

Old   August 1, 2001, 10:18
Default Re: Aztec - sparse matrix paralell solver
  #7
frank
Guest
 
Posts: n/a
Dear Astrid,

I have not used Aztec but use Petsc. So far I am very satisfied by it.I guess, both packages require some time to get through it, since they offer many options. PETSc one can access via fortran and C. The support from the petsc team is also excellent. It runs on all kind of platforms and intended for parallel processing.

I am only using the krylov subspace methods from petsc in a serial code.

Maybe I would look at both manuals and see what different options both have, that you really need at the end.

Petsc takes care about all the data structure you need. No need to worry about sparse matrix data structures.

I would also have a look not only what solvers they offer but what preconditioner they offer. That is an important factor. Petsc also has the ability to couple your own preconditioners to it, or if you think of a matrix-free GMRES, one can define your self coded matrix-vector product. That are nice features.

Frank

  Reply With Quote

Old   August 3, 2001, 12:41
Default Re: Aztec - sparse matrix paralell solver
  #8
Astrid
Guest
 
Posts: n/a
Thank you very much for the files. I will try to install the Aztec. But if implementing is so time consuming, I think I will leave it for after my PhD. I I have about 4 months to finish it and the serial code is working well for 2D models. To use 3D I would need more memory than my PC has, using paralelization. But I think I won´t have time enought.

So I must stick to 2D and finish my job! Cheers, Astrid
  Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
How force solver to update variable with nearly diagonal matrix olwi OpenFOAM Running, Solving & CFD 0 February 29, 2008 03:52
matrix solver for vector machine TakeharuM Main CFD Forum 1 June 5, 2001 16:16
sparse matrix solvers ahmed mobarki Main CFD Forum 3 August 30, 2000 22:06
matrix solver about block structured grid young min, Sohn Main CFD Forum 1 July 11, 2000 19:35
solver for linear system with large sparse matrix Yangang Bao Main CFD Forum 1 October 25, 1999 04:22


All times are GMT -4. The time now is 06:23.