Commit Graph

2212 Commits

Author SHA1 Message Date
Victor A. P. Magri
b08a962924
Fix comparisons between HYPRE_Real and HYPRE_Complex (#880)
This fixes the machine-tux regression failures from 04/12/23
2023-04-12 14:04:18 -04:00
Victor A. P. Magri
461b6eee60
New features for MGR (#817)
This PR adds device support to various MGR options:

    Non-galerkin coarse grid correction options (except for option 4)
    Block diagonal interpolation (interp_type = 12)
    Block Jacobi relaxation (level_smooth_type = 0 for global relaxation and interp_type = 12 for F-relaxation)

The main code changes are listed below:

* Add hypre_ParCSRMatrixExtractBlockDiagDevice
* Add hypre_ParCSRMatrixExtractBlockDiagDevice and respective GPU kernels
* Add hypre_ParCSRMatrixGenerateFFFCHost and respective backend wrapper
* Add device support to hypre_MGRBuildPBlockJacobi
* Add hypre_ParCSRMatrixBlockDiagMatrixDevice
* Add hypre_ParCSRMatrixExtractBlockDiagDevice
* Add MGRBuildPFromWpDevice
* Add implementation for batched matrix transpose on the device
* hypre_ParCSRMatrixDropSmallEntriesDevice: exit if tolerance is zero
* Add hypre_ParCSRMatrixGenerateCCCFDevice
* Port MGR's Non-Galerkin option to device
* Add L1-Jacobi global smoother to MGR
* Add missing comments about MGR's public APIs
* Add hypre_MGRComputeNonGalerkinCGDevice
* Update style of hypre_MGRCycle
* Add sanity checks to hypre_SeqVectorElmdivpyMarked
* Add hypre_MGRBlockRelaxSolveDevice
* Add GPUProfiling to several places
* MGR setup: simplify computation of l1_norms
* MGR solve: make use of ParVectorSetZeros to make residual computations faster
* Exit hypre_SeqVectorElmdivpyMarked earlier for vectors with zero size
* Update caliper region names for MGR
* Add wrappers to cublas batched getrf and getri functions
* General performance improvements for MGR
2023-04-11 15:34:12 -04:00
Victor A. P. Magri
416a8f8323
Fix memory leak at ParCSRMatrix host multiplication (#873)
Check whether AT_diag/offd already exist before computing them
2023-04-07 10:24:54 -04:00
Victor A. P. Magri
58d1abbc27
Change variables to unsigned long long int (#874)
Solves GitHub issue #870
2023-04-05 16:33:24 -04:00
Victor A. P. Magri
f69f8ef469
Fix typo on hypre_GpuMatDataMatDescr variable (#864)
* The Accessor macro is being changed from Decsr to Descr
* Run astyle

---------

Co-authored-by: Paul Mullowney <Paul.Mullowney@nrel.gov>
2023-03-22 22:52:47 -04:00
Rui Peng Li
2391e4703f
Fix memory tracker with omp (#844)
This PR fixes hypre memory tracker with OMP threading.
2023-03-22 16:01:24 -07:00
Wayne Mitchell
1eabaf5f33
Report error on hypre calls outside of HYPRE_Init() - HYPRE_Finalize() (#837)
When hypre handle is not initialized and a call to hypre_handle() is made, report an error and call HYPRE_Init() rather than just calling hypre_HandleCreate() with no error reporting.
2023-03-21 14:31:52 -07:00
Victor A. Paludetto Magri
9e84e35bf4
Add ILU device support independent of UVM (#816)
This PR has three main goals:
 1. Enable ILU to work without UVM on device builds.
 2. Add the runtime switch option to ILU. Thus, in device builds, one can choose now whether to execute ILU's setup and solve on the device or host.
 3. Improve error handling. e.g, when trying to execute on the device ILU types that are not supported yet.

A summary of the code changes is given below: 

* Enable ILU reordering algorithms to work without UVM memory.
* Update hypre_ILUSetupILU0Device with new intArray functions
* Fix memory location of S_offd + style updates
* Simplify hypre_ParILUCusparseILUExtractEBFC
* Remove unused function: hypre_ParILUCusparseExtractDiagonalCSR
* Refactor hypre_ILUGetInteriorExteriorPerm
* Refactor hypre_ILULocalRCM
* Refactor hypre_ILUSortOffdColmap
* Refactor hypre_ILUGetLocalPerm
* Refactor hypre_ILUGetPermddPQ
* Fix memory transfer at hypre_ILUGetInteriorExteriorPerm
* Add error messages for ILUK and ILUT for device runs
* Add error messages for GMRES-ILUK and GMRES-ILUT for device runs
* Add execution policy to ILU setup/solve
* Bug fixes for -exec_host/-memory_host on device builds
* Add ILU reordering option to IJ driver
* Refactor hypre_ILUSetupILUKDevice
* Refactor hypre_ILULocalRCM
* Remove duplicated code
* Bug fix on hypre_ILUGetPermddPQPre
* Update lassen results in accordance with CPU runs

---------

Co-authored-by: Paul Mullowney <Paul.Mullowney@nrel.gov>
2023-03-18 17:26:40 -04:00
Victor A. Paludetto Magri
deece5580f
Auxiliary space preconditioners fix (#859)
This PR fixes the data type of cheby_fraction used as input in the SetChebySmoothingOptions functions of AMS and ADS
2023-03-17 14:29:37 -04:00
Rob Falgout
c3ce7b9f17
Fix typo in AMS Poisson matrix description (#863) 2023-03-17 10:48:17 -07:00
Victor A. Paludetto Magri
2a61eb41ad
Add cuSOLVER and rocSOLVER support (#840)
Add cuSOLVER and rocSOLVER support to configure (autotools build) and add macro calls for functions defined in these libraries.
2023-03-17 12:04:07 -04:00
Rob Falgout
2ec3effbde
Release 2.28.0 (#861) 2023-03-17 07:28:55 -07:00
Victor A. Paludetto Magri
31e8cd64f6
Improve error handling for multi-component vectors - Minor fix
See previous PR.
2023-03-14 18:08:20 -04:00
Victor A. Paludetto Magri
04d1991625
Improve error handling for multi-component vectors (#848)
This PR improves error handling for preconditioners and relaxation methods that do not support multi-component vectors yet.
2023-03-14 18:03:37 -04:00
Victor A. Paludetto Magri
16c4d8304d
Change hypre_AuxParCSRMatrix variables to HYPRE_BigInt (#842)
This PR changes the type of four variables in the auxiliary matrix data structure to avoid the multiplication of integers and floating-point numbers during `hypre_IJMatrixSetAddValuesParCSRDevice`
2023-03-07 20:24:56 -05:00
Rob Falgout
6907852618
Autoconf update (#765)
Updating to autoconf 2.71 for building the 'configure' script

Also updated 'config.guess' and 'config.sub' to the 2023 versions
2023-02-16 09:42:07 -08:00
Wayne Mitchell
a30bd53628
Fix memory leak in sycl reduction boxloop (#836)
Fix memory leak in sycl reduction boxloop
2023-02-14 08:55:37 -08:00
Wayne Mitchell
a592bbd12b
Sycl matmat (#716)
Fixes for oneMKL sparse matmat and port of our custom spmv and spgemm routines to sycl. Note that this also involves significant updates to basic handling of kernel launches in sycl due to the need to support multi-dimensional kernels and the use of local shared memory.
2023-02-10 08:21:11 -08:00
Victor A. Paludetto Magri
0bfcdbbf19
Add CSRMatrix functions (#815)
This PR adds the following routines to CSRMatrix data types:

* hypre_CSRMatrixMigrate
* hypre_CSRMatrixPermute
* hypre_CSRMatrixPrintIJ
2023-02-09 10:07:30 -05:00
Victor A. Paludetto Magri
67d3fe4532
Add vector resizing functions (#829)
This PR adds hypre_SeqVectorResize and hypre_ParVectorResize for resizing sequential and parallel vectors, respectively. This is useful for block-Krylov solvers/eigensolvers using BoomerAMG and multi-component vectors.
2023-02-08 18:14:32 -05:00
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
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
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
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
Ruipeng Li
6bd19c272f
new benchmark results on tioga (#727)
Improved benchmark performance on tioga.
2022-09-01 08:25:03 -07:00
Ruipeng Li
f48a5ce0e3
Fixing bugs in hypre_BoomerAMGBuildModMultipassDevice (#724)
Fixing bugs in hypre_BoomerAMGBuildModMultipassDevice
2022-08-29 09:53:06 -07:00
Victor A. Paludetto Magri
9f9f2972f8
[Multivec 5/5]: Parallel SpMV updates (#700)
* Add device functions to perform strided copy
* Extend BoomerAMG with L1-Jac to vectors with multiple components
* Add ParVectorSetLocalSize calls to MGR
* Extend hypre_ParCSRCommPkg with a new member (num_components) that allows communicating several vector components at once.
* Add hypre_ParCSRCommPkgCreateAndFill for allocating and filling a communication package with its data.
* Improve parallel SpMV performance for vectors with multiple components

Co-authored-by: Wayne Mitchell <mitchell82@llnl.gov>
2022-08-24 20:17:18 -04:00
Victor A. Paludetto Magri
9a9d68c5d5
[Multivec 3/5]: Sequential SpMV updates (#694)
This is part of a series of PRs for enabling BoomerAMG to be applied to vectors with multiple components.

* Extend hypre's SpMV on CUDA to multivectors and add calls to cusparse's SpMM.
* Add loop unrolling to hypre's SpMV on CPUs when using multivectors with less than 5 components.
* Add HYPRE_SPMV_FILL variables to hypre's SpMV on GPUs
* Add SYCL changes to SpMV

Co-authored-by: Wayne Mitchell <mitchell82@llnl.gov>
2022-08-23 09:55:09 -04:00
PaulMullowney
5d1def73d9
slight fix to compile with umpire and pinned memory pools (#682)
Co-authored-by: Paul Mullowney <Paul.Mullowney@nrel.gov>
2022-08-18 09:28:52 -07:00
Victor A. Paludetto Magri
2383e6881d
Fix sign-compare warnings (#714)
This PR fixes warnings from [-Wsign-compare] when building hypre with GPU support.
2022-08-17 17:16:34 -04:00
Wayne Mitchell
c551365fe7
Add config options for target backends for sycl instead of hard coding (#701)
Adds config options for specifying a target backend with sycl (both cmake and autoconf)
2022-08-16 17:43:08 -07:00
Wayne Mitchell
6cf11aaa08
Increase available length of filenames for parcsr mat and vec (#562)
Increase char array lengths to accommodate longer filenames, e.g. long absolute paths.
2022-08-16 15:03:13 -07:00
Victor A. Paludetto Magri
ce3ecb0daf
[Multivec 4/5]: BoomerAMG partially supports vector with multiple components (#695)
* Extend BoomerAMG with L1-Jacobi to vector with multiple components.
* Add ParVectorSetLocalSize calls to MGR.
2022-08-11 16:21:31 -04:00
Yadong_Zeng
71cdcc89f7
Include missing header file for the CUDA install (#710)
Co-authored-by: yzeng <yzeng@altair.com>
2022-08-07 15:06:53 -07:00
Wayne Mitchell
98ab3445b7
Sycl build fix (#707)
Move fill functions in device utils back into the general functions block for use with sycl backend.
2022-08-02 18:53:35 -07:00
Ruipeng Li
6425099995
Iterative Triangular Solve APIs (#696)
* This commit adds the public and internal APIs for doing jacobi approximation to iterative triangular solve. At the moment, this code simply sets parameters for the ILU classes.

* Fixing defaults, docs, and comments.

Co-authored-by: Paul Mullowney <Paul.Mullowney@nrel.gov>
2022-08-02 00:19:44 -07:00
Victor A. Paludetto Magri
6845385dd1
Fix sanity checks of hypre_SeqVectorElmdivpy (#704)
This fixes the regression test failure reported in #703.
2022-08-01 10:44:06 -04:00
Fredrik Ekre
fac5ba173f
docs/misc.rst: fix rst syntax for italics (#690)
* docs/README: add tip for viewing local docs using Python webserver.
* docs/misc.rst: fix rst syntax for italics.
2022-07-29 17:10:00 -07:00
Victor A. Paludetto Magri
662e886881
[Multivec 2/5]: Extend multivector support (#693)
* Add new device functions needed by multivectors (`hypreDevice_IntStridedCopy` and `hypreDevice_IVAMXPMY`)
* Extend `hypre_SeqVectorElmdivpy` to work with multivectors.
2022-07-29 15:37:24 -07:00
Victor A. Paludetto Magri
26f334002f
[Multivec 1/5]: Fix code compilation (#692)
This PR fixes a few compilation errors when building hypre with CUDA and without cusparse support
2022-07-28 18:13:34 -04:00
Wayne Mitchell
922a3ce4df
SYCL IJ without unified memory (#676)
Ports some missing routines to allow the IJ driver to run without unified memory with the sycl backend:
IJ vector set/add values and assembly
Routines in par_coarse_parms_device.c
hypre_ParCSRComputeL1Norms()
2022-07-26 12:01:55 -07:00
Victor A. Paludetto Magri
ea3c43a6b0
Set/Get for multivectors (#665)
This PR enables Set/AddTo/GetValues for multivectors through the IJ interface. It also adds regression tests for the new functionalities (TEST_ij/vector) and the HYPRE_IJVectorInnerProd function
2022-07-20 16:46:15 -04:00
Ruipeng Li
48de53e675
fix bigint (#684)
Fix BigInt issue #681
2022-07-20 09:28:22 -07:00
Fredrik Ekre
e8990caf7a
Fix a typo in documentation for hybrid solver. (#685) 2022-07-20 06:52:01 -07:00
Ruipeng Li
275d04d987
Cmake cuda update (#675)
This PR contains CMake changes for CUDA.

Co-authored-by: pengwang <penwang@nvidia.com>
Co-authored-by: Sarah Virginia Osborn <osborn9@llnl.gov>
2022-07-19 22:04:42 -07:00
Ruipeng Li
22d35a4d09
Backward compatible ROCm header update. (#680)
Backward compatible update to rocm header include path.

Co-authored-by: Paul T. Bauman <ptbauman@gmail.com>
2022-07-15 23:28:00 -07:00
Ruipeng Li
5eb84ec1db
Fix GPU memory leak (#677)
This PR fixes a memory leak on GPUs.
2022-07-15 11:20:41 -07:00
Ruipeng Li
ad50e4e123
config/update.sh (#671)
Minor changes to `configure`.
2022-07-08 16:33:48 -07:00
Wayne Mitchell
6c4803b90d
Sycl pmis (#664)
Port PMIS coarsening to SYCL
2022-07-08 14:00:23 -07:00
Ruipeng Li
bd514cf998
Cusolver (#653)
This PR adds the option of using cuSolver.

Co-authored-by: Paul Mullowney <Paul.Mullowney@nrel.gov>
2022-07-06 09:37:32 -07:00
Ruipeng Li
14ee602fbf
Regression (#668)
This PR updates regression test scripts and benchmark performance results.
2022-07-05 17:10:43 -07:00
Wayne Mitchell
6f3bccb92c
Sycl interp (#638)
This adds sycl support for interpolation optionsExtInterp, ExtPIInterp,
and ExtPEInterp (which correspond to InterpType 6, 14, 16, 17, 18).
Generation of the strength matrix is also ported to sycl.
Further unification of cuda/hip/sycl kernel functions.
Adds regression tests for the sycl backend on arcticus including both ij and struct tests.
2022-07-05 16:10:36 -07:00
Ruipeng Li
aa153c9c89 astyle 2022-06-30 14:23:24 -07:00
Ruipeng Li
750d4877a4 Merge branch 'interp_trunc' of github.com:hypre-space/hypre into interp_trunc 2022-06-29 11:54:06 -07:00
Ruipeng Li
5dfda6b009 update saved.lassen 2022-06-29 11:42:23 -07:00
Ruipeng Li
6611451694 update tioga saved 2022-06-29 10:41:47 -07:00
Ruipeng Li
ac09576ef9 bug fix 2022-06-29 10:41:22 -07:00