You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
220b2b28e2
mlprec/impl/mld_dmlprec_aply.f90 mlprec/impl/mld_dprecbld.f90 Error check fixes. To be done properly across the board. |
11 years ago | |
---|---|---|
config | 12 years ago | |
docs | 12 years ago | |
examples | 12 years ago | |
mlprec | 11 years ago | |
tests | 11 years ago | |
Changelog | 12 years ago | |
LICENSE | 12 years ago | |
Make.inc.in | 12 years ago | |
Makefile | 13 years ago | |
README | 12 years ago | |
autogen.sh | 17 years ago | |
configure | 12 years ago | |
configure.ac | 12 years ago | |
install-sh | 17 years ago | |
missing | 17 years ago | |
mkdir.sh | 17 years ago |
README
This directory contains the MLD2P4 set of preconditioners, version 2.0-beta WHAT'S NEW Version 2.0. Finally moved to F2003, with the support of PSBLAS3. There are a few minor differences at user level: 1. In the configure step, you should specify the INSTALL directory of PSBLAS version 3, not the source directory; 2. In the various makefiles, libmld_prec.a should now be used in addition (and in front of) libpsb_prec.a, and no longer in place of it. 3. As for the basic usage, this is practically identical to the previous version(s). The Fortran 2003 support means that it is far easier to develop and integrate new solvers and smoothers; you need to take one of the existing solvers/smoothers as a model, develop your own by changing/replacing the model contents, and then pass the new object to the PREC%SET() method which will copy into the internals, as per the PROTOTYPE design pattern. Take a look at the test/newslv directory to see an example. It's easier done than said! Note in this beta version the interface to SuperLU_Dist 3.3 is having some issues (most notably, we have chosen to have a memory leak in place of a segfault), we'll fix them asap. Versions tested: UMFPACK: 5.4 SuperLU: 4.3 SuperLU_Dist: 3.3 Note that with SuperLU_Dist you will probably need to link additional libraries, e.g. ParMetis; you can do this with the configure option --with-extra-libs In version 1.1: - The MLD_SIZEOF() function has been redefined to be INTEGER(8), so as to be able to measure large data sets. - The internals of the multilevel preconditioner have been repackaged in a more structured fashion; no changes are needed in the user code. - Note that we now need version 2.3.1 of PSBLAS. To compile: 0. Unpack the tar file in a directory of your choice (preferrably outside the main PSBLAS directory). 1. run configure --with-psblas=<ABSOLUTE path of the PSBLAS source directory> adding the options for SuperLU, SuperLU_Dist, UMFPACK as desired. 2. Tweak Make.inc if you are not satisfied. 3. make; 4. Go into the test subdirectory and build the examples of your choice. Notes: - The single precision version is supported only by SuperLU; thus, even if you specify at configure to use UMFPACK or SuperLU_Dist, the corresponding preconditioner options will be available only from the double precision version. - A program that was using the PSBLAS precoditioners needs no source code changes, but should be recompiled. If the new preconditioner (or preconditioner options, such as ILU(N) factorization) are required, only the type of the preconditioner object and its setup/build/free calls should be updated; the rest of the application continues to make use of the PSBLAS existing interfaces. CREDITS developed by Salvatore Filippone Pasqua D'Ambra Daniela di Serafino Alfredo Buttari