Commit Graph

11580 Commits

Author SHA1 Message Date
Ulrike Yang
e5a82e81e6 specified SYCL support 2022-02-10 17:12:32 -08:00
Rob Falgout
ccd135d8da Updating CHANGELOG 2022-02-10 10:18:32 -08:00
Rob Falgout
666f457d2b Bumping release number to 2.24.0 2022-02-10 07:05:43 -08:00
Rob Falgout
4ee737b53c Initial CHANGELOG update for new release 2022-02-10 07:02:26 -08:00
Ruipeng Li
ab72d05bd8
Deviceomp (#519)
This PR fixes the build with Kokkos + OMP offload, supports OMP offload without linking CUDA libraries, and supports OMP offload on Intel GPUs.
2022-02-09 06:40:57 -08:00
Ruipeng Li
8ba048c0b5
Forced regeneration of softlinks in shared library builds. (#574)
This PR (copied from #573) added -f to softlink generation to all the makefiles.
2022-02-07 16:54:44 -08:00
Ruipeng Li
e40f8219a3 fix for last merged PR 2022-02-07 18:26:53 -06:00
Quan Bui
734a10fcb7
Mgr setup gpu (#400)
Enable GPU setup for MGR solver.
* Added device specific functionality for interpolation
* Made device and host calls to interpolation consistent
* Edited IJ driver to use GPU capable options for MGR
* Updated saved files for new GPU options
* Updated CMakeLists to support new MGR capabilities

Co-authored-by: Ruipeng Li <li50@llnl.gov>
Co-authored-by: Daniel Osei-Kuffuor <oseikuffuor1@llnl.gov>
2022-02-07 15:54:52 -08:00
Ruipeng Li
790e8e7826
fix cuda 11 build (#569)
This PR fixes CUDA 11 build after merging #549, also adds regression tests (build only) with CUDA 11.
2022-02-02 08:40:15 -08:00
Wayne Mitchell
a7bb784a45
SYCL support for AMG solve phase (#549)
This adds matvec, matrix transpose, and vector operations (axpy, inner product, etc.)
with sycl backend (via oneMKL and oneDPL) for running on Intel GPUs. Thus, the AMG
solve phase can now execute entirely on Intel GPUs.
2022-01-31 16:15:30 -08:00
Victor A. Paludetto Magri
b159c7dd58
Fortran interfaces (#566)
This PR adds Fortran interfaces for hypre_MGR and hypre_ILU. Additionally:

* Add ArrayArray types in `fortran.h`
* Add MGR and ILU options to the fortran interfaces for Krylov solvers
2022-01-31 15:32:14 -08:00
Denis Barbier
dcbee14539
Add convenient CMake alias (#563)
Usually consumers of HYPRE call find_package(HYPRE) and depend on
HYPRE::HYPRE target.  But they could also want to use HYPRE via
add_directory (for instance via a git submodule)) or FetchContent,
in which case they have to depend on HYPRE target.

This alias makes this usage more consistent, all users could then
depend on HYPRE::HYPRE.  See for instance
  https://cmake.org/pipermail/cmake/2018-November/068629.html
2022-01-25 12:06:47 -08:00
Ruipeng Li
84fa589671
Redwood sh update (#561)
This PR adds a minor update in runtest.sh for redwood
2022-01-19 21:28:46 -08:00
Ruipeng Li
4c3ef2a0b4
Fortran gpu (#470)
This PR adds GPU examples for FORTRAN users, examples ex5f.f and ex12f.f.
2022-01-19 21:24:05 -08:00
Ruipeng Li
ce54070d76
fixed .saved (#560)
This PR updates files smoother.saved.lassen/ray that were not done in #534.
2022-01-19 16:30:15 -08:00
Ruipeng Li
514c72be69
add reading x0 from parcsr file back (#548)
This PR adds build_x0_type == 7 (read from parcsr file) back.
2022-01-12 08:57:14 -08:00
Ruipeng Li
bcccb117ef
ldg only for sm >= 35 (#516)
This PR fixes compile issues with CUDA sm_30. See #511
2022-01-12 08:55:58 -08:00
Ruipeng Li
436e09cba2
Early break in CG Eig (#534)
This PR adds early break in CG for eigenvalue estimations.
2022-01-12 08:53:42 -08:00
Wayne Mitchell
a2daaf6722
Fix dof func bad read (#533)
Resolve issue #525. 
This fixes a bad memory access when max_levels == 1.
2021-11-23 15:57:11 -08:00
Wayne Mitchell
4232108a4d
Add SYCL support (#431)
This sets up basic infrastructure (e.g. memory management, device setup, etc.)
and implements the boxloops and structure solvers in sycl.
2021-11-22 16:54:22 -08:00
Ruipeng Li
1a1c7b663e
fix spmv buffer free for hip (#532)
This PR fixes a compile issue for HIP, introduced in #512 .
Co-authored-by: Ruipeng Li <coe0141@redwood.cm.cluster>
2021-11-22 15:31:43 -08:00
Dan Ibanez
da32677ae0
improve cuSPARSE version conditional (#530)
This PR fixes cuSPARSE version conditional for CUSPARSE_SPMV_CSR_ALG2.
2021-11-19 12:21:26 -08:00
Dan Ibanez
f86b1f7d81
Link to Caliper's CMake package (#518)
if HYPRE_WITH_CALIPER is enabled,
then actually find the CMake package
for caliper and link to it.
Without this, include files are not
found and the caliper library is not
properly linked.
2021-11-17 15:28:16 -08:00
Rafal
83989186a2
Update CMake: RUNTIME DESTINATION (#528) 2021-11-17 12:04:23 -08:00
Ruipeng Li
66e1f2df45
fixed typo (#521)
This PR fixed typos introduced in #512
2021-11-09 21:52:38 -08: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
Ruipeng Li
e44a194c39
Fix memory leak (#495)
This PR fixes memory leaks at various places.
2021-11-08 14:44:48 -08:00
Dan Ibanez
13bc913d69
use FindCUDAToolkit.cmake when available (#421)
* use FindCUDAToolkit.cmake when available
* fix selection of CUDATookit targets on Windows
* Indent CMake code as requested by maintainers
2021-11-08 12:14:57 -08:00
Ruipeng Li
d2620ded4c
Benchmark IJ (#515)
This PR adds -pout 0 in all the jobs in TEST_bench/benchmark_ij.jobs

Co-authored-by: Ruipeng Li <coe0141@redwood.cm.cluster>
2021-11-03 12:42:24 -07:00
Ruipeng Li
7f2762cffb
Cusparse spmv (#512)
This PR removes frequent GPU malloc/free in CSRMatvec with cuSPARSE 11. See #507.
2021-11-01 10:33:52 -07:00
Daniel Osei-Kuffuor
5262bff461
Fix memoryLocation bug in parcsrmatrix_read. (#510) 2021-10-27 13:37:41 -07:00
Ruipeng Li
612dcdb2eb
add fflush in hypre_printf (#505)
This PR adds `fflush` in `hypre_printf`.
2021-10-25 16:04:52 -07:00
Rob Falgout
aadfd86de4
Remove '..' directory dependency in test Makefile (#487)
The 'test/Makefile' had the '..' directory in the include path, which caused the 'HYPRE_config.h' file to be included from two different places (in '..' and in 'install').  In the spack autotest, this caused a conflict.

* Check that 'git describe' works in autoconf build
* Updated versioncheck tests to work when 'git describe' fails
* Updated CMake build to work when 'git describe' fails
* Update autotest filters to ignore error messages from 'git describe'
2021-10-06 09:29:30 -07:00
Sarah Osborn
5622749ab2
Add clean-up phase to spack build in autotest (#481)
* Add clean-up phase to spack build in autotest
2021-10-04 18:17:52 -05:00
Rob Falgout
e8d142b630 Updated CHANGELOG 2021-09-30 15:54:27 -07:00
Rob Falgout
db8c09f857 Bump version number to v2.23.0 for new release 2021-09-30 15:25:50 -07:00
Ruipeng Li
a1b4dc0717
Multipass gpu (#490)
This PR (modified from #489) adds GPU support for multipass interpolations.

Co-authored-by: ulrikeyang <ulrikey@rzansel61.coral.llnl.gov>
Co-authored-by: Ulrike Yang <yang11@llnl.gov>
Co-authored-by: ulrikeyang <ulrikey@rzansel41.coral.llnl.gov>
Co-authored-by: ulrikeyang <ulrikey@rzansel19.coral.llnl.gov>
Co-authored-by: ulrikeyang <ulrikey@rzansel16.coral.llnl.gov>
Co-authored-by: ulrikeyang <ulrikey@rzansel46.coral.llnl.gov>
Co-authored-by: Paul T. Bauman <ptbauman@gmail.com>
Co-authored-by: Ruipeng Li <coe0141@redwood.cm.cluster>
2021-09-30 11:58:52 -07:00
Wayne Mitchell
d933faa538
Add to protos and rerun headers (#493)
Some function declarations had been removed from the protos
file in struct_ls and headers needed to be rerun in that directory.
2021-09-30 09:48:36 -07:00
Wayne Mitchell
e12e942fcb
Fix memory leak for dof func (#491)
Make sure the coarse_dof_func is destroyed appropriately during AMG setup.
2021-09-29 08:30:39 -07:00
Rob Falgout
22b1b8a513
Added more filtering to check-license.sh autotest script (#486) 2021-09-24 12:55:30 -07:00
Rob Falgout
04fac1cbbb
Restored versioncheck tests and fixed to work with no '.git' directory (#485) 2021-09-24 10:32:19 -07:00
Wayne Mitchell
5a2ccd9898
Fix typo in code to destroy old AMG data during setup (#484)
This is a small fix for a typo in the code for destroying the old DofFunc data 
when calling a new AMG setup without calling destroy.
2021-09-23 17:30:19 -07:00
Ruipeng Li
bed421584f
fixed configure cuda streams (#482)
This PR fixed a bug in configure for cuda streams
2021-09-23 08:41:50 -07:00
Rob Falgout
1c39d56a5c Removing versioncheck tests until a fix can be developed 2021-09-21 06:31:59 -07:00
Rob Falgout
3207e12fe9 Fixed regression tests for HYPRE_DEVELOP variables 2021-09-20 20:26:42 -07:00
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
c9b1679970
hypre MPI interface without MPI and with longdouble (#465)
This PR will fix #439 where hypre was configured with --enable-longdouble --without-MPI.
2021-09-20 10:43:27 -07:00
Ruipeng Li
5971f0b979
Fix shared-libraries build for HIP (#478)
This PR by @pbauman #477 fixes shared library build with HIP.
Co-authored-by: Paul T. Bauman <ptbauman@gmail.com>
2021-09-17 09:07:43 -07:00
Wayne Mitchell
001d4fe2c7
Add hypre_IntArray (#434)
This PR adds the hypre_IntArray data structure, which wraps HYPRE_Int* and includes
memory location and size information. The CFMarker and DofFunc arrays in BoomerAMG
are wrapped with hypre_IntArray, and their default location is moved to the device when 
using GPU acceleration, avoiding some copies between host and device.
2021-09-14 14:55:47 -07:00
Wayne Mitchell
f3cb1c170d
Fix for hip compilation (#476)
This is a small fix for a typo that was preventing compilation with hip.
2021-09-14 11:25:43 -07:00