* 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.
* 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.
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>
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.
The implementation of the new memory model has the following steps:
1. change TAlloc, CTAlloc, TReAlloc, and TFree
2. change DeviceAlloc, SharedAlloc, UMTAlloc, and HostAlloc so there
will be only one set of memory alloc macros
3. check and change other memory calls (like memory copy) to new termplate
4. merge this temperay branch to memory-dev to review