Commit Graph

22 Commits

Author SHA1 Message Date
adam-sim-dev
64604ec075
Fix typo in krylov solvers comments (#938) 2023-06-24 08:47:02 -04:00
Daniel Osei-Kuffuor
065613399b
Fix floating point conversion warnings (#827)
* Updated gcc compiler flags for strict-checking build option to throw floating point conversion warnings
* Several minor edits to clean up floating point conversion warnings and minor bugs.  
* Updated saved files to reflect changes.
2023-02-06 13:53:14 -08:00
Paul Tsuji
247c168ee7
bugfix/tsuji1/dsuperlu to update FEI interface (#748)
* Fixing the FEI interface to SuperLU_Dist. This uses the same structs
as src/parcsr_ls/dsuperlu.c.

* Updates to the CMake build system and other spots to support SuperLU_Dist, SuperLU, and the FEI.
Some Windows build bits.

* Reverting this change, it's just in the comments.

* Changes from Tim Dunn's FEI branch (feature/dunn13/tad220914-fei).
This prevents the solver from exiting out with a failure even though
the initial guess is the solution. There is also a fix to prevent a
floating point exception.

* Removing this #ifndef, as it is no longer necessary for our Windows build.

* Only enable CXX if building the FEI.
2022-10-26 11:08:18 -07:00
Victor A. Paludetto Magri
1664a340f8
Krylov solvers support to vector with multiple components (#734)
This PR enables the use of Krylov methods for solving linear systems with multi-component vectors. Regression tests have been added on src/test/TEST_ij/vector.sh. Additionally, hypre_ParCSRDiagScaleVector and hypreDevice_DiagScaleVector have been extended to work with multi-component vectors.

* Small changes to support multi-component Krylov algorithms. This seems to work with GMRES.
* Extend hypre_ParCSRDiagScaleVector to multicomponent vectors
* Extend hypreDevice_DiagScaleVector to multicomponent vectors
* Test Krylov solvers support for multi-component vectors
* Update result for the final residual norm (Tux)
* Add hypreGPUKernel_CSRMatvecShuffleGT8 and update hypreDevice_CSRMatrixMatvec with new kernel dispatching strategy
* Add number of matvecs as a command line option for the IJ driver 
* Add vector.saved.lassen and vector.saved.arcticus files
* Run astyle

Co-authored-by: Paul Mullowney <Paul.Mullowney@nrel.gov>
Co-authored-by: Wayne Mitchell <mitchell82@llnl.gov>
2022-10-11 16:55:30 -07:00
Victor A. Paludetto Magri
e16167fe46
Fix copyright (#615)
This PR updates Copyright headers from "Copyright 1998-2019 ..." to "Copyright (c) 1998 ..."
2022-04-05 16:19:51 -07:00
Rob Falgout
805ee77be8
Adding source file indentation with astyle (#498)
This PR adds automatic indentation using Artistic Style (astyle).  The script config/astyle-apply.sh runs the indentation using the configuration file config/astylerc.  The script also runs headers in all of the directories that automatically generate internal _hypre_*.h header files.  Much of this was borrowed from the MFEM project.  A pre-commit git hook was also added.
2021-11-08 19:26:59 -08:00
Victor A. P. Magri
61ebb5cee4 Annotate krylov solvers 2020-06-27 19:24:31 -07:00
Ruipeng Li
1afd4a09a9 memory model, exec policy, etc 2020-02-24 22:16:18 -08:00
Ruipeng Li
3d9f90e8c8 revoke all format changes 2019-11-05 14:14:00 -08:00
Ruipeng Li
abee12a098 only format changes [typos, trailing whitespaces, tabs] 2019-11-05 11:11:23 -08:00
Ruipeng Li
0cd052494d Merge branch 'master' of https://github.com/hypre-space/hypre into AIR
Conflicts:
	src/krylov/krylov.h
	src/parcsr_ls/par_lr_restr.c
	src/parcsr_ls/par_stats.c
	src/utilities/protos.h
2019-07-26 11:32:53 -07:00
Rob Falgout
48c9f0b972 Changed all of the headers 2019-07-07 19:26:24 -07:00
Ruipeng Li
e184413f60 Merge branch 'master' of https://github.com/hypre-space/hypre into AIR
Conflicts:
	src/config/Makefile.config.in
	src/config/configure.in
	src/configure
	src/krylov/gmres.c
	src/krylov/krylov.h
	src/parcsr_ls/HYPRE_parcsr_gmres.c
	src/parcsr_ls/_hypre_parcsr_ls.h
	src/parcsr_ls/aux_interp.c
	src/parcsr_ls/par_amg.c
	src/parcsr_ls/par_amg_setup.c
	src/parcsr_ls/par_coarse_parms.c
	src/parcsr_ls/par_coarsen.c
	src/parcsr_ls/par_cycle.c
	src/parcsr_ls/par_lr_restr.c
	src/parcsr_ls/par_relax.c
	src/parcsr_ls/par_relax_interface.c
	src/parcsr_ls/par_restr.c
	src/parcsr_ls/par_stats.c
	src/parcsr_ls/par_strength.c
	src/parcsr_mv/_hypre_parcsr_mv.h
	src/parcsr_mv/par_csr_communication.c
	src/parcsr_mv/par_csr_matop.c
	src/parcsr_mv/par_csr_matrix.c
	src/parcsr_mv/par_csr_matrix.h
	src/test/ij.c
	src/utilities/_hypre_utilities.h
	src/utilities/hypre_qsort.c
2019-05-09 15:08:38 -07:00
Ulrike Yang
c57774a62f fixed error codes for hybrid and segfaults for hybrid GMRES and BiCGSTAB 2018-10-12 16:31:44 -07:00
Ulrike Yang
a1ba97a4e4 changed convergence error flag to not flag error if tol is set to 0. 2018-09-18 10:57:14 -07:00
Ulrike Yang
7fb93a648f added GetResidual functions and HYPRE_ParVectorGetValues function 2018-09-13 08:15:43 -07:00
Ruipeng Li
75dfde9699 cosmetic changes to a few files [applying some style rules] 2018-03-19 11:02:15 -07:00
Ruipeng Li
aa779919ed [work in progress] redo hypre_memory.c.h 2018-03-05 15:44:45 -08:00
Wang
8da2f3d314 [1/4] change TAlloc, CTAlloc, TReAlloc, and TFree to new interface.
The implementation of the new memory model has the following steps:
1. change TAlloc, CTAlloc, TReAlloc, and TFree
2. change DeviceAlloc, SharedAlloc, UMTAlloc, and HostAlloc so there
will be only one set of memory alloc macros
3. check and change other memory calls (like memory copy) to new termplate
4. merge this temperay branch to memory-dev to review
2017-11-02 20:51:32 -07:00
Daniel Osei-Kuffuor
109a2e7491 Modifications to use hypre's random.c routines instead of C routine rand(). 2017-04-18 02:24:04 -07:00
Lu WANG
cb8fbfdcf4 make hypre compatible with c++ compiler 2016-05-07 13:04:42 -07:00
Rob Falgout
f4e70c897b Reorganized directories and files to mimic the release structure 2016-01-13 18:14:24 -08:00