-
Notifications
You must be signed in to change notification settings - Fork 118
Add Compressed Basis GMRES (CB-GMRES) #693
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Changes from 1 commit
Commits
Show all changes
87 commits
Select commit
Hold shift + click to select a range
cd1ffc9
First commit for the GmresMixed class:
d7ba04c
Inclusion of the omp executor in the repository:
969358f
Inclusion of the cuda executor in the repository:
2b7122f
The test files are finally included, but:
6dc6470
The first unoptimized version is done. Next tasks:
4d4fab1
The default value for ValueTypeKrylovBasis has been changed to avoid …
josealiaga e0d39a6
Definition of the CG2 variant of the finish_arnoldi routine for omp a…
josealiaga 27019da
Add GMRES_mixed to benchmark
f2b5a3a
Definition of the CGS2 version of finish_arnoldi method, for omp and …
josealiaga bfd4196
Finally a good implementation of the multidot_kernels_num_iters_1 is …
josealiaga 4ad491e
Add Accessor support and extend reference test
fbcc4f2
Made GmresMixed compile with complex types
911fd5c
The update routines have been improved. Now the computational time is…
josealiaga db081ac
Add specialization for integer types for Accessor
7db4796
Make the scale work with integer types
9bbcf87
Add helper to determine if we need a scale or not
97689ab
Add a helper structure to manage the scale writing in common
c0aa2ed
Testing the push command
josealiaga da8a56e
Definition of norm2 and norminf routines in CUDA. Only the first one …
josealiaga 23efe7a
remove_complex has been added to the norms variables, and multinorm2_…
josealiaga f3cdbd7
Fixed cuda step2 to take a view into account
d4865f2
Change const accessor to non-const in check_arnoldi_norms_new
42a779b
The set_scale method finally works!!
josealiaga 6b25d2e
Change storage layout of krylov_bases
e3ca7cc
Make memory access to krylov_bases coalesced again
911fccb
Transpose grid when launching singledot kernel
5dd8bf2
Reversed the transpose of the grid dim
b214a5f
Add half precision support to GmresMixed
f1f178e
Hopefully improve singledot performance
fb64f5c
Infinity norm only computed when scale is present
155c552
Add another RHS generation in the benchmark
d660c47
Fix residual_norm calculation in GmresMixed
8ede6d6
Make sure GmresMixed does not exit early
af6fb48
Add benchmark parameter for GMRES krylov_dim
49f1763
Add forced iterations when convergence is detected
188ff18
Add debug output to forced iterations
297004b
Fix reference bug in GmresMixed
b7765c3
DEBUG: Add write output for integral accessor
f31e87d
DEBUG: Move towards `at` with accessor
6f82f47
Remove Accessor3dConst
c385a2b
Adopt OpenMP support to new Accessor
9a0a0f0
Remove unused GMRES_mixed code from Ref & OMP
3d44a21
Adopt CUDA to the new accessor format (NOT `at`)
e1654b4
Make HIP and CUDA work with new accessor (NOT at)
5d09f2a
Remove unused code from CUDA
48e0899
CUDA implementation is now using `at`
b542646
Re-add ConstAccessor
b0a2ac3
Fix accessor by adding additional __restrict__
5d1f173
GmresMixed storage prec is now a factory parameter
267bbf1
Improve reference test and include the enum there
6b92a4f
Fix the reference test to pass
1d4a773
Adopt to new parameter macros
30381e2
Update the helper to throw when complex
6d30e36
Make GmresMixed work properly with multiple RHS
7f86d9c
Fix benchmark to work with new GmresMixed layout
b2b9ebc
Use new reduced_row_major Accessor in GmresMixed
db3046f
Remove unnecessary code from CUDA GmresMixed
da87d06
Add HIP kernels
65a8a8b
Fix GmresMixed core problem
a9646e8
Improve force-reset behavior
c6020db
Rename GmresMixed to CbGmres
36a1a19
Format files
ginkgo-bot c4a7335
Add DPCPP stubs to allow compilation
fa1fc39
Make cb-gmres benchmarks dependent on etype
c509263
Fix implementation and reference test for CB-GMRES
6bb09da
Update tolerance for one reference CB-GMRES test
3655021
Update atomic_max
5270478
Remove unnecessary kernels and properly name them
2f0a32e
Review update
58e1104
Add Helper INSTANTIATE macro for CB-GMRES
c47a4ca
Remove CB-GMRES and GMRES example
2b587ba
Review update
da8a6b4
Remove unnecessary includes of iostream and time.h
c4c1270
Remove circular dependency of compute_norm2 in (CB)-GMRES
00d33b5
Update solver generation in benchmark
b163893
Update eta and arnoldi_norms in CB-GMRES
342957a
Remove CUDA 9.0 exception for constexpr parameter
370d208
Review Update
1b2071d
Sonarcloud update
b4a6fc9
Review update; Improve run_all_benchmarks.sh
599e261
Put storage_precision enum into cb_gmres namespace
5126858
Add CB-GMRES example
169040d
Remove unnecessary included files for CB-GMRES
05374fd
Review update
389d038
Review update
6d6bbab
Update contributors.txt
josealiaga 4d722f1
Update contributors.txt
josealiaga File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Format files
Co-authored-by: Thomas Grützmacher <thoasm@users.noreply.github.com>
- Loading branch information
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.