Commit Graph

11596 Commits

Author SHA1 Message Date
Rob Falgout
09b6b53ca5 Update CHANGELOG and version number for new release 2.22.0 2021-06-21 15:14:46 -07:00
Ruipeng Li
8c9f41a4d0
GPU ams ame ads (#398)
This PR adds GPU support for ams, ame and ads, and the following parcsr operations on GPUs, ParCSRAdd, ParCSRTranspose, l1 hybrid G-S/SSOR.

Co-authored-by: Rob Falgout <rfalgout@llnl.gov>
2021-06-21 14:36:46 -07:00
Ruipeng Li
3c4272700c
move AIR to UVM (#411)
This PR is a temporary fix for N(eumann)-AIR on GPUs。
2021-06-21 14:26:26 -07:00
Ruipeng Li
27d6b2bd72
One based index (#408)
This PR fixes #396, indexing problem in HYPRE_IJVectorGetValues
2021-06-18 15:56:22 -07:00
Mark L. Stowell
970f75821f
Adding AMS support for 1D domains (#269) 2021-06-18 11:00:03 -07:00
Wayne Mitchell
5f8472b05c
Amgdd fixes (#386)
This removes the masked matvec routine previously used for CF L1 Jacobi relaxation in the AMG-DD solver. There was a bug present in the GPU code and the bsrxmv cusparse routine no longer supports our use-case as of cuda 11. In addition, appropriate regression test results were saved for the GPU implementation of AMG-DD.
2021-06-15 10:44:46 -07:00
Ruipeng Li
ad5d7e009f
Gpu mixedInt (#380)
This PR adds GPU support for mixedInt. 

Co-authored-by: Rob Falgout <rfalgout@llnl.gov>
2021-06-10 11:10:13 -07:00
Rob Falgout
1d9411c7ab
Fix make clean (#387)
Fixed Makefile clean targets to explicitly remove '*.obj' files.  The previous approach had the potential to delete developer files that were not intended to be removed.
2021-05-27 17:33:19 -07:00
Ruipeng Li
b88d965c16
renamed utilities/hypre_*.[c,h] to *.[c,h] (#385)
Renamed 'hypre_*' filenames in 'src/sstruct_ls' and 'utilities/' directories
Fixed AUTOTEST tests that filter on the renamed 'hypre_' files

Co-authored-by: Rob Falgout <rfalgout@llnl.gov>
2021-05-27 16:39:42 -07:00
Matthias Diener
8966648c59
fix shared library install for cmake (#376)
* fix shared library install

* add comment
2021-05-27 18:06:24 -05:00
Rob Falgout
b9b15018cf Fixed license comment format in HYPRE_error_f.h 2021-05-26 07:09:39 -07:00
Rob Falgout
977e71b9de CHANGELOG adjustments 2021-05-25 21:35:30 -07:00
Ruipeng Li
0ca69b7ede
Update CHANGELOG 2021-05-25 21:12:31 -07:00
Rob Falgout
1b1ca7bafa Fixed typo in ref manual 2021-05-25 19:09:41 -07:00
Rob Falgout
540a72b9f5 Sorted user manual references 2021-05-25 16:52:16 -07:00
Rob Falgout
0a82c6d412 One more update to CHANGELOG 2021-05-25 16:42:52 -07:00
Ruipeng Li
d380ba1247 amg parameter numbers 2021-05-25 16:40:00 -07:00
Ruipeng Li
c05d97a62d more on GPU AMG 2021-05-25 16:31:47 -07:00
Ruipeng Li
9d1a9d4107 boomerAMG on GPUs 2021-05-25 16:12:29 -07:00
Ruipeng Li
57d1288bda bug fix 2021-05-25 15:47:05 -07:00
Ruipeng Li
dfceea17d6 Merge branch 'master' of github.com:hypre-space/hypre 2021-05-25 15:11:52 -07:00
Ruipeng Li
0bb67902bb GPU build 2021-05-25 15:11:29 -07:00
Rob Falgout
3b65190b24 A few updates to the CHANGELOG 2021-05-25 14:26:24 -07:00
Rob Falgout
0fb7956eac Update version number for new release 2021-05-25 06:15:55 -07:00
Rob Falgout
426b83b647 Updated CHANGELOG for 2.21.0 release 2021-05-25 05:41:42 -07:00
Ruipeng Li
3bc7d267ef
Gpu default (#336)
This PR changes AMG defaults regarding GPUs at various places, adds regression tests on GPUs, simplifies CUDA boxloop implementations. 

Co-authored-by: Sarah Virginia Osborn <osborn9@llnl.gov>
Co-authored-by: PaulMullowney <pmullown@nrel.gov>
Co-authored-by: Daniel Osei-Kuffuor <oseikuffuor1@llnl.gov>
Co-authored-by: Ruipeng Li <li50@euler.llnl.gov>
Co-authored-by: Ruipeng Li <coe0141@redwood.cm.cluster>
2021-05-24 17:16:35 -07:00
Sarah Osborn
8a41a42c8d
Cmake cuda updates (#349)
Add CUDA options to CMake. 
* Add CUDA options to CMake, including adding CUDA_SRCS to each sub-directory's CMake list
* Changes so that HYPRE_config.h from CMake is consistent with configure
* Fix to license commenting style
* Add CUDA + CMake tests for building on lassen
2021-05-19 15:39:57 -05:00
Daniel Osei-Kuffuor
995969c9af
fix reordering option for diagonal of square matrix transpose (#370)
* Remove hard option to reorder transpose operation to place diagonal in first entry for square matrices. Implement this locally as needed.

*Add runtime option to switch to GPU support

Co-authored-by: Ruipeng Li <li50@llnl.gov>
2021-05-19 12:35:27 -07:00
Sarah Osborn
ae362727b9
Change HYPRE_RELEASE_NUMBER to be int in CMake Config.h file (#372) 2021-05-18 12:19:51 -05:00
Rob Falgout
3894857b16
Adding a new HYPRE_RELEASE_NUMBER macro (#366)
- Added a HYPRE_RELEASE_NUMBER macro, which is an integer representation of the release that can be compared numerically against other releases in user build systems
- Added a 'config/version.sh' that should be modified to create new releases
- Changed the 'config/bootstrap' script to 'config/update.sh' and added a version number check
2021-05-17 08:22:20 -07:00
Ruipeng Li
391f4fd6ec
Fix hypre_CSRMatrixAddHost (#369)
Fix problems in #341

Co-authored-by: victorapm <paludettomag1@llnl.gov>
2021-05-15 00:18:01 -07:00
li50@llnl.gov
08b8cdbf7c bug fix 2021-05-13 21:34:58 -07:00
Ruipeng Li
74482aef40
This branch fixes some of the profiling code in nvtx. All Push/Pop ranges never explicitly use PushColor version around device kernels. We allow the general method to determine the correct color. Next, there was a missing PopRange() in par_mod_lr_interp.c. Finally, I changed the profiling names in par_mod_lr_interp.c as they conflicted with names in another file. (#368)
Co-authored-by: Paul Mullowney <pmullown@orthus.nic.uoregon.edu>
2021-05-13 21:01:23 -07:00
Ruipeng Li
c7175a9872
Cuda11.2 (#362)
This PR fixes the problem by the behavior change in thrust::exclusive_scan calls from CUDA 11.2

Co-authored-by: Paul T. Bauman <ptbauman@gmail.com>
2021-05-13 20:40:24 -07:00
Ruipeng Li
1c979f338f
Fix so this compiles with hip (#365)
Co-authored-by: Paul Mullowney <pmullown@orthus.nic.uoregon.edu>
2021-05-13 19:29:46 -07:00
Victor A. Paludetto Magri
c38527c455
Add OMP support to Mat/Mat add functions (#341)
Add OpenMP support to CSRMatrixAddHost and ParCSRMatrixAdd functions. Minor changes are:
- Changed name ParcsrAdd to ParCSRMatrixAdd
- Add hypre_CSRMatrixAddFirstPass and hypre_CSRMatrixAddSecondPass to reduce code duplication
- Update rownnz support in CSRMatrixAddHost, ParCSRMatrixAdd and hypre_ILUParCSRInverseNSH.
- Refactor SpMV branches
2021-05-13 17:29:42 -07:00
Ruipeng Li
91e82e6994
hybridSetAggInterpType (#358)
This PR adds API to set AggInterpType for hybrid solvers
2021-05-10 13:39:52 -07:00
Rob Falgout
fbaf2b75dd
Fix a corner-case divide-by-zero in PFMG (see github issue #332) (#355)
* Fixed a corner-case divide-by-zero in PFMG (see github issue #332)

- The 'mean' computed in PFMG can be zero, so don't divide by it.
- Reduced the size of the dxyz values to avoid an underflow.
- Added comments to better explain this part of the code.
- Added regression tests to check 3D problems that have all of the coefficients
  zeroed out in one dimension (so they are basically 2D).
2021-05-10 13:30:02 -07:00
Daniel Osei-Kuffuor
c272f6980c
Fix MGR setup on GPU and MGR bugfixes. (#260)
This PR addresses initial changes necessary to perform MGR setup on GPUs. It also fixes a bug in the iterative use of AMG for F-relaxation, adds options to print statistics of the F-relaxation solver (for the V-cycle smoother), and places the diagonal of a transposed square matrix as the first element in the row. This last change required a couple minor changes to the saved files.
2021-05-10 13:19:34 -07:00
Victor A. Paludetto Magri
3f12d47651
Add support for matrices with many zero rows (#300)
The main objective of this PR is to improve the support of matrices with a large number of zero rows in hypre. More specifically:
* Improve IJMatrixAssemble for matrices with a large number of zero rows.
* Add hypre_AuxParCSRMatrixSetRownnz to build array of nonzero rows in the auxiliary matrix. This saves allocation time for building ParCSRMatrices.
* Improve (Par)CSRMatrix transpose, addition and multiplication operations for matrices with a large number of zero rows.

Secondary changes made in this PR are:
* Update SpMV paths in `csr_matvec` in order to make the calculation of A*x more concise.
* Extend OpenMP support to hypre_CSRMatrixSumElts, hypre_CSRMatrixFnorm and hypre_CSRMatrixReorder.
* Clean gcc-9 warnings
* Update saved files and delete unused variable

Co-authored-by: Ruipeng Li <li50@llnl.gov>
2021-04-27 17:14:17 -07:00
Victor A. Paludetto Magri
521ef12ff1
Fix colmap (#328)
When building the colmap array for prolongation operators that contain a high number of nonzero coefficients living in P_offd, see hypre_build_interp_colmap, the code will make P_offd_size * num_cols_P_offd comparisons, and this can be very high depending on the test case. This PR eliminates such code path and uses a hash table to accomplish the same purpose, thus lowering the algorithmic complexity.
2021-04-20 10:28:49 -07:00
Ruipeng Li
c5110654ce
add include in fei makefile (#334)
This PR adds an include directory in FEI_MV.
2021-04-19 17:59:30 -07:00
Ruipeng Li
4718207e94
hypre_strcpy (#340)
This PR tries to fix #315
2021-04-19 17:59:03 -07:00
Ruipeng Li
9a28cc622a
Config without args (#338)
This PR (by @acolinisi #337) fixes hypre's --without-caliper and --without-strict-checking configure options.

Co-authored-by: Alexei Colin <acolin@isi.edu>
2021-04-19 17:58:31 -07:00
Ruipeng Li
25646da905
Mat descr (#331)
This PR (@pbauman #329) addresses #309, which allows each `hypre_csrmatrix` has a GPU matrix descriptor.

Co-authored-by: Paul T. Bauman <ptbauman@gmail.com>
2021-04-15 19:00:38 -07:00
Ruipeng Li
34b2f43ba8 Merge branch 'master' of github.com:hypre-space/hypre 2021-04-13 18:44:18 -07:00
Ruipeng Li
0d730f3744 Fixed seg-fault problem 2021-04-13 18:43:50 -07:00
ulrikeyang
3f6c0abc48 Merge branch 'master' of https://github.com/hypre-space/hypre 2021-04-13 15:09:57 -07:00
ulrikeyang
e79d05d0bc removed some missed col_offd_S_to_A 2021-04-13 15:06:34 -07:00
Ruipeng Li
d2ef5cf18c Fixed ExtInterpDevice 2021-04-13 15:06:26 -07:00