Difference between revisions of "Applications/Hypre"
(Created page with "__TOC__ ==Application Details== *Description: a software library of high performance preconditioners and solvers for the solution of large, sparse linear systems of equations...") |
m |
||
Line 66: | Line 66: | ||
</pre> | </pre> | ||
+ | |||
+ | The module provides the library 'libHYPRE.a' and the include files | ||
+ | |||
+ | _hypre_IJ_mv.h | ||
+ | _hypre_parcsr_ls.h | ||
+ | _hypre_parcsr_mv.h | ||
+ | _hypre_sstruct_ls.h | ||
+ | _hypre_sstruct_mv.h | ||
+ | _hypre_struct_ls.h | ||
+ | _hypre_struct_mv.h | ||
+ | _hypre_utilities.hlobpcg.h | ||
+ | cfei.h | ||
+ | cfei_hypre.h | ||
+ | cfei-hypre.h | ||
+ | Cnames.h | ||
+ | colamd.h | ||
+ | csr_block_matrix.h | ||
+ | csr_matmultivec.h | ||
+ | distributed_matrix.hhypre_cfei.h | ||
+ | fei_bool.h | ||
+ | fei_Data.hpp | ||
+ | fei_defs.h | ||
+ | fei_LinearSystemCore.hpp | ||
+ | fei_Lookup.hpp | ||
+ | fei_mpi.h | ||
+ | fortran.h | ||
+ | fortran_matrix.h | ||
+ | HYPRE.h | ||
+ | HYPRE_config.h | ||
+ | HYPRE_DistributedMatrixPilutSolver_protos.h | ||
+ | HYPRE_DistributedMatrixPilutSolver_types.h | ||
+ | HYPRE_error_f.h | ||
+ | HYPRE_FEI_includes.h | ||
+ | hypre_hopscotch_hash.h | ||
+ | HYPRE_IJ_mv.h | ||
+ | HYPRE_krylov.h | ||
+ | HYPRE_LinSysCore.h | ||
+ | HYPRE_lobpcg.h | ||
+ | HYPRE_matrix_matrix_protos.h | ||
+ | HYPRE_MatvecFunctions.h | ||
+ | HYPRE_parcsr_ls.h | ||
+ | HYPRE_parcsr_mv.h | ||
+ | HYPRE_seq_mv.h | ||
+ | HYPRE_sstruct_ls.h | ||
+ | HYPRE_sstruct_mv.h | ||
+ | HYPRE_struct_ls.h | ||
+ | HYPRE_struct_mv.h | ||
+ | HYPRE_utilities.h | ||
+ | HYPREf.h | ||
+ | interpreter.h | ||
+ | krylov.h | ||
+ | LLNL_FEI_Fei.h | ||
+ | LLNL_FEI_Impl.h | ||
+ | LLNL_FEI_LSCore.h | ||
+ | LLNL_FEI_Matrix.h | ||
+ | LLNL_FEI_Solver.h | ||
+ | multivector.h | ||
+ | old_colamd.h | ||
+ | par_csr_block_matrix.h | ||
+ | par_csr_matmultivec.h | ||
+ | par_csr_pmvcomm.h | ||
+ | par_multivector.h | ||
+ | seq_multivector.h | ||
+ | seq_mv.h | ||
+ | slu_cdefs.h | ||
+ | slu_Cnames.h | ||
+ | slu_dcomplex.h | ||
+ | slu_ddefs.h | ||
+ | slu_scomplex.h | ||
+ | slu_sdefs.h | ||
+ | slu_util.h | ||
+ | slu_zdefs.h | ||
+ | supermatrix.h | ||
+ | temp_multivector.h | ||
+ | |||
+ | |||
Revision as of 08:25, 24 April 2017
Application Details
- Description: a software library of high performance preconditioners and solvers for the solution of large, sparse linear systems of equations on massively parallel computers
- Version: 2.11.0 (compiled with intel)
- Module: hypre/intel/2.11.0 and hypre/intel/2.11.0b
- Licence: GNU
Usage Examples
hypre, a software library of high performance pre conditioners and solvers for the solution of large, sparse linear systems of equations on massively parallel computers. The hypre library was created with the primary goal of providing users with advanced parallel pre conditioners. The library features parallel multi-grid solvers for both structured and unstructured grid problems. For ease of use, these solvers are accessed from the application code via hypre’s conceptual linear system interfaces, which allow a variety of natural problem descriptions.
Module
[username@login01 ~]$ module add hypre/intel/2.11.0
Compilation
hypre is a library s it, or it could be required at compilation time also.
A typical C++ code snippet requiring hypre (source Github) is shown below:
Description: This code solves a system corresponding to a discretization of the Laplace equation -Delta u = 1 with zero boundary conditions on the unit square. The domain is split into a n x n grid of quadrilateral elements and each processors owns a horizontal strip of size m x n, where m = n/nprocs. We use bilinear finite element discretization, so there are nodes (vertices) that are shared between neighbouring processors. The Finite Element Interface is used to assemble the matrix and solve the problem. Nine different solvers are available. */ #include <math.h> #include <iostream> #include <fstream> #include "_hypre_utilities.h" #include "LLNL_FEI_Impl.h" using namespace std; #include "vis.c" int main(int argc, char *argv[]) { int i, j, k; int nprocs, mypid; int n, m, offset; double h; int solverID; int vis; // Initialize MPI MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &nprocs); MPI_Comm_rank(MPI_COMM_WORLD, &mypid); ...
The module provides the library 'libHYPRE.a' and the include files
_hypre_IJ_mv.h _hypre_parcsr_ls.h _hypre_parcsr_mv.h _hypre_sstruct_ls.h _hypre_sstruct_mv.h _hypre_struct_ls.h _hypre_struct_mv.h _hypre_utilities.hlobpcg.h cfei.h cfei_hypre.h cfei-hypre.h Cnames.h colamd.h csr_block_matrix.h csr_matmultivec.h distributed_matrix.hhypre_cfei.h fei_bool.h fei_Data.hpp fei_defs.h fei_LinearSystemCore.hpp fei_Lookup.hpp fei_mpi.h fortran.h fortran_matrix.h HYPRE.h HYPRE_config.h HYPRE_DistributedMatrixPilutSolver_protos.h HYPRE_DistributedMatrixPilutSolver_types.h HYPRE_error_f.h HYPRE_FEI_includes.h hypre_hopscotch_hash.h HYPRE_IJ_mv.h HYPRE_krylov.h HYPRE_LinSysCore.h HYPRE_lobpcg.h HYPRE_matrix_matrix_protos.h HYPRE_MatvecFunctions.h HYPRE_parcsr_ls.h HYPRE_parcsr_mv.h HYPRE_seq_mv.h HYPRE_sstruct_ls.h HYPRE_sstruct_mv.h HYPRE_struct_ls.h HYPRE_struct_mv.h HYPRE_utilities.h HYPREf.h interpreter.h krylov.h LLNL_FEI_Fei.h LLNL_FEI_Impl.h LLNL_FEI_LSCore.h LLNL_FEI_Matrix.h LLNL_FEI_Solver.h multivector.h old_colamd.h par_csr_block_matrix.h par_csr_matmultivec.h par_csr_pmvcomm.h par_multivector.h seq_multivector.h seq_mv.h slu_cdefs.h slu_Cnames.h slu_dcomplex.h slu_ddefs.h slu_scomplex.h slu_sdefs.h slu_util.h slu_zdefs.h supermatrix.h temp_multivector.h