AMG4PSBLAS

Preconditioners for PSBLAS

AMG4PSBLAS

Preconditioners for PSBLAS

AMG4PSBLAS

Parallel AMG Preconditioners

Highly Parallel Smoothers

Tested on tens of thousands of cores

Excellent innovation in the EU Innovation Radar

Description

AMG4PSBLAS (Algebraic MultiGrid Preconditioners Package based on PSBLAS) is a package of parallel algebraic multilevel preconditioners included in the PSCToolkit (Parallel Sparse Computation Toolkit) software framework.

It is a progress of a software development project started in 2007, named MLD2P4, which originally implemented a multilevel version of some domain decomposition preconditioners of additive-Schwarz type and was based on a parallel decoupled version of the well known smoothed aggregation method to generate the multilevel hierarchy of coarser matrices.

In the last years, within the context of the EU-H2020 EoCoE project (Energy Oriented Center of Excellence), the package was extended for including new algorithms and functionalities for the setup and application new AMG preconditioners with the final aims of improving efficiency and scalability when tens of thousands cores are used and of boosting reliability in dealing with general symmetric positive definite linear systems.

Due to the significant number of changes and the increase in scope, we decided to rename the package as AMG4PSBLAS.

AMG4PSBLAS has been designed to provide scalable and easy-to-use preconditioners in the context of the PSBLAS (Parallel Sparse Basic Linear Algebra Subprograms) computational framework and can be used in conjuction with the Krylov solvers available in this framework. Our package is based on a completely algebraic approach; therefore users level interfaces assume that the system matrix and preconditioners are represented as PSBLAS distributed sparse matrices.

AMG4PSBLAS enables the user to easily specify different features of an algebraic multilevel preconditioner, thus allowing to experiment with different preconditioners for the problem and parallel computers at hand.

The package employs object-oriented design techniques in Fortran 2003, with interfaces to additional third party libraries such as MUMPS, UMFPACK, SuperLU, and SuperLU_Dist, which can be exploited in building multilevel preconditioners. The parallel implementation is based on a Single Program Multiple Data (SPMD) paradigm; the inter-process communication is based on MPI and is managed mainly through PSBLAS.

RELEASE

Library releases for AGM4PSBLAS.

Release Date Sources Documentation Works with
Version 1.1.2 November 26, 2023 ZIP Archive PDF HTML PSBLAS 3.8.1-2, PSBLAS-EXT Version 1.3.2
Version 1.1.1 September 29, 2023 ZIP Archive PDF HTML PSBLAS 3.8.1, PSBLAS-EXT Version 1.3.2
Version 1.1.0 May 24, 2022 ZIP Archive PDF HTML PSBLAS 3.8.0, PSBLAS-EXT 1.3.0-rc1
Version 1.0 May 11, 2021 ZIP Archive PDF HTML PSBLAS 3.7.0.1, PSBLAS-EXT 1.3.0-rc1
Version 1.0-rc2 April 12, 2021 ZIP Archive PDF HTML PSBLAS 3.7.0, PSBLAS-EXT 1.3.0-rc1

Library releases for MLD2P4 can be downloaded from: mld2p4/releases

Release Date Sources
Version 2.2.2 6 May 2020 ZIP Archive

DOCUMENTATION

An HTML version of the library documentation can be found on the page AMG4PSBLAS documentation. In any case, the software releases contain a copy of the documentation and a pdf version of it.

TO COMPILE

  1. Unpack the tar file in a directory of your choice (preferrably outside the main PSBLAS directory).
  2. run configure --with-psblas=<ABSOLUTE path of the PSBLAS install directory> adding the options for MUMPS, SuperLU, SuperLU_Dist, UMFPACK as desired. See MLD2P4 User’s and Reference Guide (Section 3) for details.
  3. Tweak Make.inc if you are not satisfied.
  4. make
  5. Go into the test subdirectory and build the examples of your choice.
  6. (if desired): make install

NOTES

  • The single precision version is supported only by MUMPS and SuperLU; thus, even if you specify at configure time to use UMFPACK or SuperLU_Dist, the corresponding preconditioner options will be available only from the double precision version.
  • The preconditioners in AMG4PSBLAS extend those of PSBLAS and are meant to be used with the PSBLAS Krylov solvers; so in an existing program you need to modify the type of the preconditioner object and its settings, but the rest of the application needs not be changed.

EoCoE - Software as service portal

In the European project “Energy oriented Center of Excellence: toward exascale for energy” we made available a software as service portal: https://eocoe.psnc.pl/. This permits to test several cutting-edge computational methods for accelerating the transition to the production, storage and management of clean, decarbonized energy. Among them you have the possibility of running PSBLAS+AMG4PSBLAS on some test problems to become familiar with using the software.

The AMG4PSBLAS team.

Contributors to MLD2P4:

  • Daniela di Serafino
  • Ambra Abdullahi Hassan
  • Alfredo Buttari

License

AMG4PSBLAS is distributed under the BSD 3-Clause license.

 AMG4PSBLAS version 1.1
  Algebraic Multigrid Package based on PSBLAS (Parallel Sparse BLAS version 3.8)
  
  (C) Copyright 2022

      Salvatore Filippone  
      Pasqua D'Ambra   
      Fabio Durastante        
  
  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions
  are met:
    1. Redistributions of source code must retain the above copyright
        notice, this list of conditions and the following disclaimer.
    2. Redistributions in binary form must reproduce the above copyright
        notice, this list of conditions, and the following disclaimer in the
        documentation and/or other materials provided with the distribution.
    3. The name of the AMG4PSBLAS group or the names of its contributors may
        not be used to endorse or promote products derived from this
        software without specific written permission.
  
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AMG4PSBLAS GROUP OR ITS CONTRIBUTORS
  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  POSSIBILITY OF SUCH DAMAGE.

The code inherited from MLD2P4 is again available under the BSD 3-Clause license.

MLD2P4  version 2.2
  MultiLevel Domain Decomposition Parallel Preconditioners Package
             based on PSBLAS (Parallel Sparse BLAS version 3.5)
  
  (C) Copyright 2008-2018

      Salvatore Filippone  
      Pasqua D'Ambra   
      Daniela di Serafino   

 
  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions
  are met:
    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.
    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions, and the following disclaimer in the
       documentation and/or other materials provided with the distribution.
    3. The name of the MLD2P4 group or the names of its contributors may
       not be used to endorse or promote products derived from this
       software without specific written permission.
 
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MLD2P4 GROUP OR ITS CONTRIBUTORS
  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  POSSIBILITY OF SUCH DAMAGE.