Skip to content

Commit ead06c2

Browse files
committed
Checkin of Hypre 2.10.0b
1 parent 950d0e1 commit ead06c2

File tree

1,449 files changed

+214384
-379765
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,449 files changed

+214384
-379765
lines changed

CHANGELOG

+100-25
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,89 @@
77
# terms of the GNU Lesser General Public License (as published by the Free
88
# Software Foundation) version 2.1 dated February 1999.
99
#
10-
# $Revision: 2.128 $
10+
# $Revision$
1111
#EHEADER**********************************************************************
1212

1313
#=============================================================================
1414
# This file chronicles user-level changes to hypre, beginning with the most
1515
# recent release.
1616
#=============================================================================
1717

18+
19+
Version 2.10.0b released 2015/01/22
20+
21+
- Added new interpolation that allows the incorporation of near null-space
22+
vectors for systems problems.
23+
24+
- Added additive V-cycle and new mult-additive and simplified mult-additive
25+
V-cycle.
26+
27+
- Fixed several bugs in BoomerAMG and removed some inefficiencies.
28+
29+
- Fixed potential bug and memory leaks in the AMS and ADS solvers.
30+
31+
- Added threading to the IJ interface and some AMG setup routines.
32+
33+
- Added new non-Galerkin coarse grid construction scheme to reduce communication
34+
and complexity.
35+
36+
- Extended GLVis visualization to all 2D and 3D example codes.
37+
38+
- Changed the configure settings to use --disable-global-partition by default.
39+
The equivalent old option --with-no-global-partition is still available, but
40+
users should migrate to the new one.
41+
42+
#====================================
43+
44+
Version 2.9.4a released 2013/11/21
45+
46+
- Minor bug fix in AMS and other minor changes.
47+
48+
#====================================
49+
50+
Version 2.9.3a released 2013/10/15
51+
52+
- Extended AMS to work for AMR problems on quad/hex meshes by removing an
53+
assumption that the discrete gradient G only has +-1 entries. Also changed
54+
default smoother in AMS to l1-GS.
55+
56+
- Added a hi-D capability to Struct and SStruct. Use the --enable-maxdim option
57+
to configure the library for higher-than-3D usage.
58+
59+
- Added complex system support to a subset of the library, including most of the
60+
matrix-vector class functions and the Krylov solvers. Currently does not
61+
support the FEI or babel components. Use the --enable-complex option to set.
62+
63+
#====================================
64+
65+
Version 2.9.2a released 2013/02/15
66+
67+
- Added HYPRE_AMSSet*AMGCoarseRelaxType for specifying the coarsest level
68+
relaxation for the AMG subspace solvers in AMS. Since the subspace matrices
69+
are often singular, the default value uses l1-GS on the coarsest level, which
70+
is different from BoomerAMG's default (exact solve).
71+
72+
- Fixed a bug in the IJ interface related to setting off-processor values when
73+
hypre is configured to use the assumed partition.
74+
75+
- Fixed a bug in BoomerAMG when using C-F L1-Jacobi on coarsest grid, and fixed
76+
a memory bug related to interpolation.
77+
78+
#====================================
79+
80+
Version 2.9.1a released 2013/01/16
81+
82+
- Added a HYPRE_BoomerAMGSetRedundant() switch to allow for an agglomeration
83+
approach for solving the coarsest grid system.
84+
85+
- Changed how BoomerAMG handles zero diagonal entries.
86+
87+
- Made a few minor bug fixes in BoomerAMG.
88+
89+
- Fixed a configuration problem with external blas and lapack.
90+
91+
#====================================
92+
1893
Version 2.9.0b released 2012/10/30
1994

2095
- Changed the behavior of the BoomerAMG interpolation routines when a zero
@@ -47,22 +122,22 @@ Version 2.8.1a released 2012/03/19
47122

48123
- For non-cell data, fixed a memory problem with SStructGraphAddEntries() and an
49124
accumulation problem with SStructMatrixAddValues().
50-
125+
51126
- Improved the penalty scaling factor for AMS's discrete divergence term (which is
52127
added to the matrix to robustly handle problems with pure void regions).
53-
128+
54129
- Added threading to various routines in BoomerAMG.
55-
130+
56131
- Fixed the SStructGridSetPeriodic() routine to work for all object types,
57132
including HYPRE_PARCSR which previously did not work.
58-
133+
59134
- Made two changes to GMRES: 1) Added GMRESSetSkipRealResidualCheck to skip the
60135
evaluation and check of the final residual in GMRES. This can be useful in
61136
situations where restart is not expected to be beneficial. 2) Independent of the
62137
above, added a check to see if consecutive real GMRES residuals decrease (in the
63138
"false convergence" case). If not, we conclude that restart leads to pollution
64139
from round-off errors and exit GMRES.
65-
140+
66141
- Implemented a CMake build system for the library and the test drivers.
67142

68143
#====================================
@@ -338,8 +413,8 @@ Version 2.2.0b released, 2007/09/20.
338413

339414
Version 2.1.0a released, 2007/06/25.
340415

341-
- Added the CGC and CGC-E coarsening algorithms, which have been developed
342-
and implemented by Michael Griebel, Bram Metsch and Alex Schweitzer of
416+
- Added the CGC and CGC-E coarsening algorithms, which have been developed
417+
and implemented by Michael Griebel, Bram Metsch and Alex Schweitzer of
343418
the University of Bonn.
344419

345420
- Added several new solver types to AMS and improved the AMS/FEI integration.
@@ -350,7 +425,7 @@ Version 2.1.0a released, 2007/06/25.
350425

351426
- Added a 'make check' target that does a simple code verification test.
352427

353-
- Added truncation for interpolation according to the number of elements to the
428+
- Added truncation for interpolation according to the number of elements to the
354429
ParCSR Hybrid AMG Solver.
355430

356431
- Renovated the hypre fei implementation for use in ARES.
@@ -419,7 +494,7 @@ Version 1.12.0a released, 2006/07/26.
419494
- First release of Maxwell, a semi-structured Maxwell solver.
420495

421496
- Modifications to the fac user interface to permit easier set up of the problem.
422-
497+
423498
#====================================
424499

425500
Version 1.11.1b released, 2006/05/30.
@@ -449,7 +524,7 @@ Version 1.11.0b released, 2006/04/24.
449524
* an option to print the system matrix and rhs
450525
* a description of how to read in a matrix and rhs in IJ format.
451526

452-
- Corrected error that occured when more than one Euclid solver object is used
527+
- Corrected error that occurred when more than one Euclid solver object is used
453528
at the same time
454529

455530
- Added Maxwell capabilities via Sandia's ML solvers; see details in
@@ -477,7 +552,7 @@ Version 1.10.0b released, 2005/12/19.
477552
only the IJ interface solvers have been optimized. For small or modest
478553
numbers of processors (typically < 1000-5000 depending on the machine), this
479554
option is not needed (and will likely be slower).
480-
555+
481556
- Added aggressive coarsening, which can be applied to all available coarsening
482557
schemes (via HYPRE_BoomerAMGSetNumAggLevels and HYPRE_BoomerAMGSetNumPaths)
483558

@@ -635,17 +710,17 @@ Version 1.7.10b released, 2002/12/02.
635710

636711
- SStruct: Fixed a bug when connecting a part to itself with SetNeighborBox.
637712

638-
- FEI: Added a few more smoothers and amg methods in mli, fixed a few memory
639-
leaks uncovered by running ale3d, added new aggregation coarsening for
640-
handling multiple materials. For more details, see
713+
- FEI: Added a few more smoothers and amg methods in mli, fixed a few memory
714+
leaks uncovered by running ale3d, added new aggregation coarsening for
715+
handling multiple materials. For more details, see
641716
FEI_mv/fei-hypre/CHANGELOG.
642717

643718
#====================================
644719

645720
Version 1.7.9b released, 2002/10/18.
646721

647-
- SStruct: Added an if around sorting and eliminating duplicate
648-
iUventries so that its only executed when there are at least 2
722+
- SStruct: Added an if around sorting and eliminating duplicate
723+
iUventries so that its only executed when there are at least 2
649724
such entries.
650725

651726
#====================================
@@ -684,13 +759,13 @@ Version 1.7.5b released, 2002/01/16.
684759
- SStruct: Modified SetNeighborBox boxes to reach off of the global grid.
685760

686761
- krylov solvers (PCG, GMRES, BiCGSTAB and CGNR ) are the first
687-
solvers to use the new definitions for logging, which are
688-
logging = 0: no printout, no storing of norms or rel. res. norms
689-
logging = 1: no printout, norms (and relative residual norms for PCG)
690-
are stored
691-
logging > 1: norms (and relative residual norms for PCG) are stored
692-
and printed out to standard output during each iteration
693-
step.
762+
solvers to use the new definitions for logging, which are
763+
logging = 0: no printout, no storing of norms or rel. res. norms
764+
logging = 1: no printout, norms (and relative residual norms for PCG)
765+
are stored
766+
logging > 1: norms (and relative residual norms for PCG) are stored
767+
and printed out to standard output during each iteration
768+
step.
694769

695770
#====================================
696771

@@ -794,7 +869,7 @@ New internal installation: V1.0.0, 2000/07/06
794869
is in the subdirectory 'debug'.
795870

796871
- Added support for the FEI v1.4, with additional capabilities for handling
797-
parallel slide surface reduction and general Schur complement reduction.
872+
parallel slide surface reduction and general Schur complement reduction.
798873

799874
- Using a new version numbering scheme. The C macro HYPRE_Version()
800875
may be used to retrieve version information.

INSTALL

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# terms of the GNU Lesser General Public License (as published by the Free
88
# Software Foundation) version 2.1 dated February 1999.
99
#
10-
# $Revision: 2.9 $
10+
# $Revision$
1111
#EHEADER**********************************************************************
1212

1313

README

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# terms of the GNU Lesser General Public License (as published by the Free
88
# Software Foundation) version 2.1 dated February 1999.
99
#
10-
# $Revision: 2.9 $
10+
# $Revision$
1111
#EHEADER**********************************************************************
1212

1313

docs/HYPRE_ref_manual.pdf

23.3 KB
Binary file not shown.

docs/HYPRE_usr_manual.pdf

25.5 KB
Binary file not shown.

docs/bHYPRE_ref_manual.pdf

-60 Bytes
Binary file not shown.

src/CMakeLists.txt

+17-9
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ cmake_minimum_required (VERSION 2.8.8)
22
project (hypre)
33

44
# The version number.
5-
set (HYPRE_VERSION 2.9.0b)
6-
set (HYPRE_DATE 2012/10/30)
5+
set (HYPRE_VERSION 2.10.0b)
6+
set (HYPRE_DATE 2015/01/22)
77
set (HYPRE_TIME 00:00:00)
88
set (HYPRE_BUGS hypre-support@llnl.gov)
99
set (HYPRE_SRCDIR "${PROJECT_SOURCE_DIR}")
@@ -29,16 +29,25 @@ option(HYPRE_SEQUENTIAL "Compile without MPI" OFF)
2929
option(HYPRE_TIMING "Use HYPRE timing routines" OFF)
3030
option(HYPRE_USING_HYPRE_BLAS "Use internal BLAS library" ON)
3131
option(HYPRE_USING_HYPRE_LAPACK "Use internal LAPACK library" ON)
32-
option(HYPRE_NO_GLOBAL_PARTITION "Use assumed partition" OFF)
32+
option(HYPRE_NO_GLOBAL_PARTITION "Use assumed partition" ON)
3333
option(HYPRE_PRINT_ERRORS "Print HYPRE errors" OFF)
3434
option(HYPRE_USING_OPENMP "Use OpenMP" OFF)
3535
option(HYPRE_USING_FEI "Use FEI" ON)
3636

37+
if (HYPRE_SHARED)
38+
# FEI doesn't currently compile with shared
39+
set (HYPRE_USING_FEI OFF CACHE BOOL "" FORCE)
40+
endif ()
41+
3742
if (HYPRE_BIGINT)
3843
set (HYPRE_USING_FEI OFF CACHE BOOL "" FORCE)
3944
# In the future, also turn off babel
4045
endif ()
4146

47+
if (HYPRE_SEQUENTIAL)
48+
set (HYPRE_NO_GLOBAL_PARTITION OFF CACHE BOOL "" FORCE)
49+
endif ()
50+
4251
# --with-examples Build example codes.
4352
# --with-fei Use internal FEI routines.
4453
# --with-superlu Use internal SuperLU routines.
@@ -175,6 +184,7 @@ list (APPEND HYPRE_SOURCES
175184
utilities/F90_HYPRE_error.c
176185
utilities/fortran_matrix.c
177186
utilities/hypre_ap.c
187+
utilities/hypre_complex.c
178188
utilities/hypre_error.c
179189
utilities/hypre_memory.c
180190
utilities/hypre_mpi_comm_f2c.c
@@ -185,7 +195,6 @@ list (APPEND HYPRE_SOURCES
185195
utilities/qsplit.c
186196
utilities/random.c
187197
utilities/threading.c
188-
utilities/thread_mpistubs.c
189198
utilities/timer.c
190199
utilities/timing.c
191200
utilities/umalloc_local.c
@@ -460,6 +469,7 @@ list (APPEND HYPRE_SOURCES
460469
parcsr_ls/par_coordinates.c
461470
parcsr_ls/par_cr.c
462471
parcsr_ls/par_cycle.c
472+
parcsr_ls/par_add_cycle.c
463473
parcsr_ls/par_difconv.c
464474
parcsr_ls/par_gsmg.c
465475
parcsr_ls/par_indepset.c
@@ -470,6 +480,7 @@ list (APPEND HYPRE_SOURCES
470480
parcsr_ls/par_laplace_9pt.c
471481
parcsr_ls/par_laplace.c
472482
parcsr_ls/par_lr_interp.c
483+
parcsr_ls/par_nongalerkin.c
473484
parcsr_ls/par_nodal_systems.c
474485
parcsr_ls/par_rap.c
475486
parcsr_ls/par_rap_communication.c
@@ -501,7 +512,6 @@ list (APPEND HYPRE_HEADERS
501512
list (APPEND HYPRE_SOURCES
502513
struct_mv/assumed_part.c
503514
struct_mv/box_algebra.c
504-
struct_mv/box_alloc.c
505515
struct_mv/box_boundary.c
506516
struct_mv/box.c
507517
struct_mv/box_manager.c
@@ -511,7 +521,6 @@ list (APPEND HYPRE_SOURCES
511521
struct_mv/F90_HYPRE_struct_matrix.c
512522
struct_mv/F90_HYPRE_struct_stencil.c
513523
struct_mv/F90_HYPRE_struct_vector.c
514-
struct_mv/grow.c
515524
struct_mv/HYPRE_struct_grid.c
516525
struct_mv/HYPRE_struct_matrix.c
517526
struct_mv/HYPRE_struct_stencil.c
@@ -526,7 +535,6 @@ list (APPEND HYPRE_SOURCES
526535
struct_mv/struct_matrix.c
527536
struct_mv/struct_matrix_mask.c
528537
struct_mv/struct_matvec.c
529-
struct_mv/struct_overlap_innerprod.c
530538
struct_mv/struct_scale.c
531539
struct_mv/struct_stencil.c
532540
struct_mv/struct_vector.c
@@ -626,7 +634,6 @@ list (APPEND HYPRE_SOURCES
626634
sstruct_mv/sstruct_innerprod.c
627635
sstruct_mv/sstruct_matrix.c
628636
sstruct_mv/sstruct_matvec.c
629-
sstruct_mv/sstruct_overlap_innerprod.c
630637
sstruct_mv/sstruct_scale.c
631638
sstruct_mv/sstruct_stencil.c
632639
sstruct_mv/sstruct_vector.c
@@ -709,8 +716,9 @@ configure_file (
709716
"${PROJECT_BINARY_DIR}/HYPRE_config.h"
710717
)
711718

712-
include_directories(${hypre_SOURCE_DIR})
719+
# BINARY must be first in order to get the correct HYPRE_config.h file
713720
include_directories(${hypre_BINARY_DIR})
721+
include_directories(${hypre_SOURCE_DIR})
714722
include_directories(utilities)
715723
include_directories(multivector)
716724
include_directories(krylov)

src/FEI_mv/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ project(HYPRE_FEI C CXX)
33

44
include_directories(fei-base)
55
include_directories(fei-hypre)
6-
include_directories(fei-base/base)
76
include_directories(ml/src/include)
87

98
option(HYPRE_USING_SUPERLU "Use internal SuperLU routines" ON)

src/FEI_mv/DSuperLU/INSTALL/testtimer

-44 Bytes
Binary file not shown.

src/FEI_mv/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# terms of the GNU Lesser General Public License (as published by the Free
88
# Software Foundation) version 2.1 dated February 1999.
99
#
10-
# $Revision: 1.8 $
10+
# $Revision$
1111
#EHEADER**********************************************************************
1212

1313

src/FEI_mv/SuperLU/CMakeLists.txt

-3
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,5 @@ set(HYPRE_superlu_SRCS
5555

5656
add_definitions(-DNO_TIMER)
5757
add_library(HYPRE_superlu OBJECT ${HYPRE_superlu_SRCS})
58-
if(BUILD_SHARED_LIBS)
59-
set_target_properties(HYPRE_superlu PROPERTIES COMPILE_FLAGS "-fPIC")
60-
endif()
6158

6259
install (FILES ${HYPRE_superlu_HEADERS} DESTINATION include)

src/FEI_mv/SuperLU/SRC/dgssv.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ dgssv(superlu_options_t *options, SuperMatrix *A, int *perm_c, int *perm_r,
134134
*
135135
*/
136136
DNformat *Bstore;
137-
SuperMatrix *AA;/* A in SLU_NC format used by the factorization routine.*/
137+
SuperMatrix *AA=NULL;/* A in SLU_NC format used by the factorization routine.*/
138138
SuperMatrix AC; /* Matrix postmultiplied by Pc */
139139
int lwork = 0, *etree, i;
140140

src/FEI_mv/SuperLU/SRC/dlangs.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ double dlangs(char *norm, SuperMatrix *A)
6161
NCformat *Astore;
6262
double *Aval;
6363
int i, j, irow;
64-
double value, sum;
64+
double value=0.0, sum;
6565
double *rwork;
6666

6767
Astore = A->Store;

0 commit comments

Comments
 (0)