Commit Graph

297 Commits

Author SHA1 Message Date
Rob Falgout
408f361bd0
Add HYPRE_DEVELOP variables (#472)
This commit introduces three new variables to the 'HYPRE_config' file through both the autoconf and CMake builds. They are defined only when there is a '.git' directory present, and are otherwise left undefined.  These new variables may help users who work directly with the development branch of hypre to keep their code current and backward compatible with previous releases and also individual commits between those releases.  The new variables are:

HYPRE_DEVELOP_STRING - a string created from the 'git describe' command that indicates the last release tag, the number of commits beyond that last release, and the corresponding commit hash.
HYPRE_DEVELOP_NUMBER - the number of commits since the last release.
HYPRE_DEVELOP_BRANCH - defined only if the main development branch is being used, and is set to the name of that branch (currently master).

The commit also adds runtime regression tests for the variables in the 'src/test' directory.
2021-09-20 20:05:58 -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
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
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
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
Rob Falgout
5122196348 Adding filter to check-license test to ignore runtests-* files 2021-02-18 07:00:23 -08:00
Ruipeng Li
68f510c11b
Test jobs for enable-mixedint (#280)
This PR separates the jobs that break with --enable-mixedint (CGC, ParaSail, Euclid) from regular job scripts, so regression tests can selectively run jobs with --enable-mixedint. The new runtests<-option> files contain a list of tests for the runtest.sh
script that can be run by passing <-option> to the 'run.sh' autotest script. This should enable more flexibility for building regression test suites.

We should also revisit the notes pointed out by @rfalgout at some point.

Co-authored-by: Rob Falgout <rfalgout@llnl.gov>
2021-02-17 20:24:58 -08:00
Rob Falgout
be18e595ae
Remove the global partition code from hypre (#273)
This PR removes the global partition code from hypre.
2021-02-08 15:16:29 -08:00
Rob Falgout
6f9260b67c
Add saved-file extension to runtest (#271)
This pull request adds a -save <ext> feature to the runtest.sh script to allow testing against different saved files on different platforms such as GPU machines. See Issue #255. A few additional things were done:

- All of the checks against the saved files were moved out of the individual tests and into runtest.sh.
- The output-file sanity checks that are in many of the tests were modified so they no longer depend on the saved files. Several issues were also uncovered and fixed.
2021-02-08 15:11:45 -08:00
Ramesh Pankajakshan
414fa671be
Umpire (#243)
This PR contains the support of UMPIRE pooling allocators for host and GPU memory. Configure hypre with --with-umpire, device and uvm allocations and deallocations are done with umpire, whereas host pool is not enabled by default. This PR also includes some other minor changes:

Adding .gitignore to the repo
Removing all malloc/calloc/realloc/free and regression testing on finding them
No longer compile ij.c with C++ compiler. It goes back to a C code now.
Introducing HYPRE_USING_GPU, which is equivalent to HYPRE_USING_CUDA || HYPRE_USING_DEVICE_OPENMP
Adding a few user-level interfaces: HYPRE_SetMemoryLocation, HYPRE_SetExecutionPolicy, HYPRE_SetGPUMemoryPoolSize and HYPRE_CSRMatrixSetSpGemmUseCusparse

Co-authored-by: li50@llnl.gov <liruipengblue@gmail.com>
Co-authored-by: Rob Falgout <rfalgout@llnl.gov>
Co-authored-by: Ruipeng Li <li50@llnl.gov>
2021-02-03 12:31:25 -08:00
Ruipeng Li
2186a8fb34
triangular solve on GPUs; runcheck (#256)
This PR fixes triangular solve on GPUs, and runcheck.sh

Co-authored-by: Daniel Osei-Kuffuor <oseikuffuor1@llnl.gov>
2021-01-15 20:46:59 -08:00
Ruipeng Li
b49727f16b
Cuda triangular smoothers (#240)
* This commit has CUDA based smoothers for AMG based on the triangular parts of sparse matrices. This includes an Gauss-Seidel (relax_type==3), which uses CUSPARSE triangular solvers to invert L. Symmetric Gauss Seidel is implemented in relax_type==6 also via CUSPARSE. Finally, 2 new smoothers are added. THe first is a 2 stage approximation to Gauss Seidel using a parallel MatVec and L (relax_type==11). The second (relax_type==12) is a less effective version of 11. It uses A_diag instead of L for the smoothing. CPU implementations of these new smoothers are also provided. For the two stage algorithms, L and U are NOT explicitly created. This seems faster and saves memory. In the two stage preconditioner, multiply by invdiag rather than divide by diagonal reduces register pressure and yields full occupancy.
Co-authored-by: Paul Mullowney <pmullown@nrel.gov>
Co-authored-by: PaulMullowney <60452402+PaulMullowney@users.noreply.github.com>
2020-12-17 19:37:59 -08:00
Luke
22f4d3f8c6
Cuda 11 API (#163)
This PR adds CUDA-11 support.
2020-11-05 20:57:57 -08:00
Ruipeng Li
aaf5aa564a
Aggressive coarsening and 2- stage MM-ext Interpolations on GPUs (#195)
This PR contains the following changes:
* Aggressive coarsening, i.e, 2nd SoC on GPUs
* 2-stage MM-ext Interpolations (MM-ext, MM-ext+e) on GPUs
* Enhanced abilities of extracting strong FF/FC/CF/CC submatrix with given SoC matrix
* Bug fix in device PMIS
Co-authored-by: Bjorn Sjogreen <sjogreen2@llnl.gov>
Co-authored-by: ulrikeyang <yang11@llnl.gov>
2020-09-23 17:13:23 -07:00
Ruipeng Li
1c0598626c Merge branch 'master' of https://github.com/hypre-space/hypre into PETScFix 2020-08-27 20:12:13 -07:00
liruipeng
8833bed155 add compile flags in GPU regression test scripts 2020-08-27 18:10:27 -07:00
Victor A. P. Magri
88c7a2d73d Add regression test for concurrent hopscotch 2020-08-23 18:42:44 -07:00
Rob Falgout
42448bf066 Adding filter for 'HYPRE_config.h.in' in AUTOTEST/check-license.sh 2020-07-15 06:13:29 -07:00
Rob Falgout
8dd210957c Moved the autotest run filter to 'runtest.sh' where it belongs 2020-07-08 07:04:39 -07:00
Rob Falgout
735df4bc32 Adding a run.filters file to AUTOTEST 2020-07-02 06:36:59 -07:00
Ruipeng Li
933ceed52a
Merge pull request #128 from hypre-space/SpGeMMDist
new sparse mat-mat-dist, triple-mat-dist
2020-06-06 10:01:05 -07:00
Ruipeng Li
5d5b75bc02 GPU regression tests 2020-06-05 17:25:45 -07:00
Ruipeng Li
3d1a441674 a minor change in check-headers.sh 2020-06-05 09:06:28 -07:00
Rob Falgout
e121789fc9 Adding header check to machine-tux.sh autotest script 2020-06-02 11:10:46 -07:00
Rob Falgout
4542bf0941 Fixed header usage problems and added regression test
- Fixed improper inclusion of _hypre_utilities.h in user header files
- Added a 'check-headers.sh' regression test that compiles the examples with
  options that output header usage, then checks for internal header files
- Moved HYPRE_Init() to 'HYPRE_utilities.h'
2020-06-02 10:05:01 -07:00
Rob Falgout
cc0dde7228 Small changes to spack autotest script 2020-05-21 05:17:56 -07:00
Sarah Virginia Osborn
d08a0f35cd Uninstall spack packages in hypre+superlu-dist test. 2020-05-20 21:33:21 -07:00
Ruipeng Li
9791056f00
Merge pull request #121 from hypre-space/gpudev-bjorn
Gpudev bjorn
2020-05-20 13:09:09 -07:00
Ruipeng Li
b945553980 updated regression tests on lassen 2020-05-19 22:11:19 -07:00
Rob Falgout
7336eab090 Fixed a bug in autotest 'make.sh' script 2020-05-19 07:22:37 -07:00
Rob Falgout
1d014c27c7 Adding a Spack autotest script 2020-05-16 08:30:29 -07:00
Rob Falgout
35386791fb Updating autotest for SuperLU-dist version 6.3.1 2020-05-14 20:34:56 -07:00
Ruipeng Li
51f7834b06 remove license from cub 2020-03-19 12:20:20 -07:00
Ruipeng Li
2e4c8145eb remove cub from check license filters 2020-02-28 15:22:28 -08:00
Ruipeng Li
cf4d9b78b5 bug fix in ILU 2020-02-28 00:32:23 -08:00
Ruipeng Li
43ad3d6703 cub allocator 2020-02-27 22:28:44 -08:00
Ruipeng Li
022d476eda bug fix 2020-02-26 14:24:29 -08:00
Ruipeng Li
687232e116 gpu regression test [clean regression tests on ray] 2020-02-09 11:31:51 -08:00
Ruipeng Li
2b8fd590b1 bug fix 2020-02-06 15:39:17 -08:00
Ruipeng Li
9395a69f1f fixes after regression tests 2019-12-08 09:21:06 -08:00
Rob Falgout
d30116a764 Removing runtest for mixedint autotest case on tux (included it by accident) 2019-10-22 10:08:49 -07:00
Rob Falgout
6cf3b4638c Adding --enable-mixedint regression tests (currently just compilation tests) 2019-10-22 09:51:01 -07:00
Rob Falgout
3352033eb8 Commented out distclean before check-license test to avoid error message 2019-09-30 07:53:44 -07:00
Rob Falgout
edda8e7d6a Updating the AUTOTEST/check-license.filters file 2019-09-28 15:55:18 -07:00
Rob Falgout
7ce1e5f16a Adding a check for license headers to AUTOTEST (two files I forgot) 2019-09-27 10:16:03 -07:00
Rob Falgout
5851cb80af Adding a check for license headers to AUTOTEST 2019-09-27 10:15:04 -07:00
Ruipeng Li
0af952509c Merge branch 'master' of https://github.com/hypre-space/hypre into amg-setup
Conflicts:
	src/CMakeLists.txt
	src/config/configure.in
	src/parcsr_ls/HYPRE_parcsr_ls.h
	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_coarsen.c
	src/parcsr_ls/par_cycle.c
	src/parcsr_ls/par_interp.c
	src/parcsr_ls/par_strength.c
	src/parcsr_mv/_hypre_parcsr_mv.h
	src/parcsr_mv/par_csr_assumed_part.c
	src/parcsr_mv/par_csr_communication.c
	src/parcsr_mv/par_csr_communication.h
	src/parcsr_mv/par_csr_matop.c
	src/parcsr_mv/par_csr_matrix.c
	src/parcsr_mv/par_csr_matrix.h
	src/seq_mv/csr_matrix.c
	src/seq_mv/seq_mv.h
	src/utilities/_hypre_utilities.h
	src/utilities/hypre_memory.h
	src/utilities/protos.h
2019-09-25 15:36:06 -07:00
Sarah Virginia Osborn
06c43e4ce3 Fixes to cmake autotests with updated test build. 2019-08-20 11:20:30 -07:00