Commit Graph

12219 Commits

Author SHA1 Message Date
Daniel Osei-Kuffuor
ddc548f906
Extend hypre complex (#824)
* Enable HYPRE_COMPLEX to accept precision types supported by hypre.
2023-02-08 10:13:20 -08:00
Wayne Mitchell
c964884062
Update Tioga Regressions (#833)
Fix batch submission and update .saved files for Tioga regression testing.
2023-02-07 15:48:51 -08: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
Victor A. Paludetto Magri
832ad94de3
Fix data conversion issues (#831)
This PR fixes a few compilation issues introduced in the previous PR involving the --enable-single and --enable-mixedint builds
2023-02-03 17:01:02 -05:00
Victor A. Paludetto Magri
53dfbe360f
Add axpyz kernels (#810)
This PR adds SeqVector and ParVector functions for computing: z = a * x + b * y
2023-02-02 21:55:53 -05:00
Victor A. Paludetto Magri
d3f6b03c87
Add matrix scaling function (#814)
This PR adds hypre_ParCSRMatrixDiagScale for computing left and right parallel matrix scaling. The function also works when one of the scaling factors, which are stored as vectors, are not present. Regression tests have been added for this new function.
2023-01-23 09:21:15 -05:00
Daniel Osei-Kuffuor
52802b646e
Direct frelax solve -- bugfix (#820)
Bugfixes and code cleanup for F-relaxation setup that use direct solvers and complex smoothers.
2023-01-13 14:06:36 -08:00
Rob Falgout
98c4321fee
Modify check-license.sh to ignore '.png' files (#819) 2023-01-12 16:26:54 -08:00
Rob Falgout
41fa152e34
Migrate docs to read-the-docs theme (#803)
This switches the Sphinx documentation style to improve rendering of the "API" pages.
2023-01-11 15:19:10 -08:00
Victor A. Paludetto Magri
b9d3eccbe3
Add new hypre_IntArray functions (#807)
The new functions are:

* Add hypre_IntArrayPrint
* Add hypre_IntArrayMigrate
* Add hypre_IntArrayRead
* Add hypre_IntArrayInverseMapping
2023-01-05 19:02:11 -05:00
Victor A. Paludetto Magri
41961c2935
Fix RAP memory leak (#806)
This PR fixes a memory leak in the parallel RAP routine that arises when a single task is used and R contains `diagT` at input.
2023-01-05 16:24:06 -05:00
Victor A. Paludetto Magri
79e4ddb5a8
Access pointer data only if it is not NULL (#809)
This PR solves the GitHub issue #808
2023-01-05 16:16:22 -05:00
Daniel Osei-Kuffuor
2b1dd32d10
Direct frelax solve (#805)
* Added new options to use GE for F-relaxation
* Updated documentation to include new options.
2023-01-02 03:03:38 -08:00
Rob Falgout
45b6cdb1a0
Add mac regression test and modify runtest.sh for portability (#796)
The expression '\t' for <tab> does not work on the mac, so the whitespace
expressions were changed to use the posix standard '[[:space:]]'.
2022-12-21 08:34:48 -08:00
Rob Falgout
b9596c6b55
Updating User Manual to point to the API chapter instead of Reference Manual (#802) 2022-12-20 13:14:57 -08:00
Rob Falgout
f851603eee
Release 2.27.0 (#801)
Update CHANGELOG and version number for release 2.27.0
2022-12-20 09:25:06 -08:00
Rui Peng Li
9a16ff8edb
fix _hypre_utilities.h; !!!PLEASE DO NOT CHANGE THIS FILE DIRECTLY!!! (#799)
This PR fixed an issue in _hypre_utilities.h from previous PRs.
2022-12-19 11:35:31 -08:00
Rob Falgout
80ea9be26a
Implement AddFEMBoxValues() routines (#779)
Introduce new AddFEMBoxValues() routines to improve system setup time when using the SStruct finite element interface.  This initial implementation can produce significant speedups, but there is room for future optimizations.

Co-authored-by: Victor A. P. Magri <paludettomag1@llnl.gov>
2022-12-15 17:21:08 -08:00
Sarah Osborn
182db6cf0e
Update CMake version in install directions (#793) 2022-12-14 13:33:03 -08:00
Victor A. Paludetto Magri
c8f1aba2d6
Add hypre_IntArrayCount (#776)
This PR adds the function hypre_IntArrayCount for counting the number of occurrences of a value in a hypre_IntArray. Also, it moves device methods to a new file int_array_device.c.

Co-authored-by: Wayne Mitchell <mitchell82@llnl.gov>
2022-12-14 12:21:55 -08:00
Victor A. Paludetto Magri
1cc7e81e21
Fix strict prototypes (#774)
This PR cleans the code for the warning Wstrict-prototypes. This flag was also added to the debug build of machine-tux.

Co-authored-by: Pierre Jolivet <pierre@joliv.et>
2022-12-14 11:13:20 -08:00
Victor A. Paludetto Magri
69f74995e0
Add new search paths for the NVIDIA math libs (#788)
This PR adds two new search paths for the NVIDIA math libraries (cuSPARSE, cuBLAS, cuSOLVER). This fixes build issues on Polaris and Perlmutter.

* Add two new search paths for the NVIDIA math libs to configure
* Turn off CUDA math libs when CUDA is disabled
2022-12-13 17:56:56 -05:00
Rui Peng Li
322b9d10cc
NekRS (#702)
This PR adds the optimizations in IJ solvers that were done for NekRS.
2022-12-09 08:46:52 -08:00
Victor A. Paludetto Magri
8f51e49402
Bug fixes involving mixedint option and CUDA build (#783)
This PR fixes a few variable types inconsistencies arisen from the mixedint build. Additionally, it fixes the CUDA-11.1.1 build.

* Fix cuSPARSE version tag for using generic SpMM and new SpMV algorithms
* Bug fixes on hypre_ILU: S_row_starts computation and m -> big_m
* Bug fix: HYPRE_MPI_REAL -> HYPRE_MPI_COMPLEX
* Bug fix: HYPRE_Int -> HYPRE_BigInt
* Bug fix: HYPRE_MPI_INT -> HYPRE_MPI_BIG_INT

Co-authored-by: TotoGaz <49004943+TotoGaz@users.noreply.github.com>
2022-12-07 22:52:15 -05:00
ulrikeyang
af9c59cc34
Bench22 (#786)
* added changes required for the new AMG benchmark, including a new routine that returns wall clock time and some new parameters which generate cumulative numbers of nonzeros for A, coarse grid and prolongation operators in AMG
2022-12-07 14:35:18 -08:00
Wayne Mitchell
9bbdd9799f
SYCL regression testing (#778)
Several bug fixes and small changes for the sycl build. Addition of full regression testing on florentia with consistent and correct results for struct and ij tests with sycl backend.
2022-12-05 16:21:03 -08:00
Rui Peng Li
2826c39ed4
update lassen results (#784)
This PR updates lassen results with small changes.
2022-12-01 14:26:15 -08:00
Victor A. Paludetto Magri
dcbd6d724b
Generalize hypre_ParCSRMatrixGenerateFFFC (#772)
This PR modifies hypre_ParCSRMatrixGenerateFFFC to act as a wrapper between the host and device implementations. Consequently, hypre_ParCSRMatrixGenerateFFFCHost has been added.
2022-11-30 09:13:39 -08:00
Victor A. Paludetto Magri
b93beb9465
Update function comments (#770)
This PR updates a few function comments and serves as a test for pull requests after master has been marked as protected
2022-11-03 23:16:22 -04:00
Rob Falgout
aff83e81fc
Use $(MAKE) instead of (non-portable) make (#763) (#766)
Cf. #755 (comment).

Co-authored-by: prj- <prj-@users.noreply.github.com>
2022-11-03 13:35:43 -07:00
Victor A. Paludetto Magri
a6228149b2
Change CUDAKernel -> GPUKernel (#769)
This PR updates function names starting with hypre_CUDAKernel to hypre_GPUKernel
2022-11-03 13:26:46 -07:00
Rui Peng Li
5467d2941d
ILU Iter trisolve impl (#717)
This PR adds Jacobi iterative solver for ILU smoother/preconditioner implemented on CPU/GPU. 
Co-authored-by: Paul Mullowney <Paul.Mullowney@nrel.gov>
2022-11-02 14:18:56 -07:00
Victor A. Paludetto Magri
c886ad9f71
MGR - HIP support (#719)
This PR adds HIP support to MGR. Additionally:

* Add sanity checks at Setup and Solve functions
* Fix a bug in the computation of P_FF on MGR when using GPUs.
* Enable AMG level profiling with HIP
* Enable ROCTX regions in the IJ driver
2022-11-02 10:54:59 -04:00
Sarah Osborn
843e8c71ef
Add Umpire options to CMake and finish Caliper option (#762)
* Update cmake to include umpire options

* Finish caliper cmake option
2022-10-27 14:50:24 -07: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
6ca5cb542f
Dev allocator (#758)
This PR updates hypre_device_allocator to use hypre's abstract memory model. This means that:
    hypre configured with unified memory support: those allocations will be on managed memory.
    hypre configured without unified memory support: those allocations will be on device memory.
2022-10-24 16:18:35 -07:00
Victor A. Paludetto Magri
af5c45027f
Two-stage GS support for multi-component vectors (#738)
This PR enables 2-stage GS relaxation to work properly with multi-component vectors.

* some optimizations to get 2-stage GS working faster
* Update loop unrolling at DiagScaleVector2
* computeY is a template argument now

Co-authored-by: Paul Mullowney <Paul.Mullowney@nrel.gov>
2022-10-24 15:31:37 -07:00
Sarah Osborn
4fd0489978
Minor fix for adding HYPRE_BRANCH_NAME to CMake generated config file (#760) 2022-10-20 14:45:18 -07:00
Victor A. Paludetto Magri
7c5ce339f1
Add HYPRE_BRANCH_NAME (#759)
This PR adds a new variable in `HYPRE_config.h` for naming the hypre's branch currently in use. Internal drivers have been updated to use this variable

* Add HYPRE_BRANCH_NAME to Makefile and cmake builds
* Run config/update.sh
* Ignore files generated by cmake in the cmbuild folder
* Update drivers
* Update regression tests
2022-10-18 16:54:17 -04:00
Rui Peng Li
3c04212d77
Version 2.26.0 (#751)
This PR updates the release number for hypre 2.26.0
2022-10-13 16:08:58 -07:00
Rui Peng Li
94cb9a3137
CHANGELOG for 2.26.0 (#750)
This PR contains the CHANGELOG of  2.26.0 (#749)

Co-authored-by: Victor Magri <paludettomag1@llnl.gov>
2022-10-13 08:40:30 -07:00
Rui Peng Li
403e16a997
fix gpu tests (#753)
This PR fixed GPU regressions.
2022-10-12 19:56:18 -07:00
Rui Peng Li
50de6a4756
fix ParCSRDiagScaleVector (#752)
This PR fixed a check in ParCSRDiagScaleVector.
2022-10-12 14:37:35 -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
Wayne Mitchell
bf3f6f0f74
Sycl more interp (#737)
Adds additional interpolation routines and IJ matrix functionality to the sycl backend.
2022-10-07 17:29:46 -07:00
Tzanio Kolev
12778359e8
Expose the AMS solver structure to users by including ams.h in _hypre_parcsr_ls.h (#730)
Add ams.h to parcsr_ls/headers and complete the hypre_AMSData accessors
2022-10-07 10:47:58 -07:00
Rui Peng Li
5546cc22d4
Runtime switch and memory tracker (#741)
This PR adds "runtime switch" feature to the solvers in hypre.

Co-authored-by: Victor A. P. Magri <paludettomag1@llnl.gov>
Co-authored-by: Wayne Mitchell <mitchell82@llnl.gov>
2022-10-07 08:39:00 -07:00
Daniel Osei-Kuffuor
ebc634a4e8
Header file bugfix to fix missing symbols. (#745) 2022-10-03 14:21:20 -07:00
Victor A. Paludetto Magri
51cabfbd3a
Add CUSPARSE_NEWSPMM_VERSION (#743)
This PR adds a new macro for driving the choice of cusparse's SpMV and SpMM algorithm types used in hypre.
2022-10-03 13:05:21 -07:00
Ruipeng Li
8dc524e8a1
Fix file version (#731)
This avoid an #include issue with newer C++ compilers.

Co-authored-by: Paul T. Bauman <ptbauman@gmail.com>
Co-authored-by: Rob Falgout <rfalgout@llnl.gov>
2022-09-14 10:04:35 -07:00