Skip to content
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

Add Compressed Basis GMRES (CB-GMRES) #693

Merged
merged 87 commits into from
Feb 21, 2021
Merged

Add Compressed Basis GMRES (CB-GMRES) #693

merged 87 commits into from
Feb 21, 2021

Commits on Feb 19, 2021

  1. First commit for the GmresMixed class:

      * Only core and reference executors.
      * test files don't compile, due to t problem related the macros of gtest (TEST_F -> TYPED_TEST).
      * MGS, MGS with reorthogonalization and CGS with reorthogonalization are considered.
      * Norms are still created in the internal routines.
    [email protected] authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    cd1ffc9 View commit details
    Browse the repository at this point in the history
  2. Inclusion of the omp executor in the repository:

      * Now, the norms are properly created in the main class.
      * The test files are not repaired yet.
    [email protected] authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    d7ba04c View commit details
    Browse the repository at this point in the history
  3. Inclusion of the cuda executor in the repository:

        * For CGS, a loop of kernels is used instead of a kernel with a loop.
        * The test files are not repaired yet.
    [email protected] authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    969358f View commit details
    Browse the repository at this point in the history
  4. The test files are finally included, but:

        * The messages have to be removed.
        * For CGS, a loop of kernels is used instead of a kernel with a loop.
    [email protected] authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    2b7122f View commit details
    Browse the repository at this point in the history
  5. The first unoptimized version is done. Next tasks:

        * For CGS, a loop of kernels is used instead of a kernel with a loop.
        * Consider another base_types for ValueTypeKrylovBases
    [email protected] authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    6dc6470 View commit details
    Browse the repository at this point in the history
  6. The default value for ValueTypeKrylovBasis has been changed to avoid …

    …some errors which
    
    were detected during the testing process in the repository. The previous value was float
    whereas the original results were executed by default_precision, and these are the reason
    of the errors. Now, the default value is also default_precision.
    josealiaga authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    4d4fab1 View commit details
    Browse the repository at this point in the history
  7. Definition of the CG2 variant of the finish_arnoldi routine for omp a…

    …nd cuda executors,
    
    as a first step in the optimization process.
    Also the calls for the timing are included.
    josealiaga authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    e0d39a6 View commit details
    Browse the repository at this point in the history
  8. Add GMRES_mixed to benchmark

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    27019da View commit details
    Browse the repository at this point in the history
  9. Definition of the CGS2 version of finish_arnoldi method, for omp and …

    …cuda executors.
    
    For omp, the omp is trying to move to the outer loop
    For cuda, the loop of kernels is change to a kernels with a loop.
      * The main routines (loop of dots and loop of axpy) are still too expensive.
    josealiaga authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    f2b5a3a View commit details
    Browse the repository at this point in the history
  10. Finally a good implementation of the multidot_kernels_num_iters_1 is …

    …done.
    
    Also timing instructions are included, whose management is made by some define's.
    
    The next step will be to improve the update kernels.
    josealiaga authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    bfd4196 View commit details
    Browse the repository at this point in the history
  11. Add Accessor support and extend reference test

    Added an accessor header file (name might have to change in future)
    and used it in all mixed precision kernels (but for now only for the
    reduced precision accesses).
    
    Also adds some minor fixes:
    - removed unused code in the example in hopes that it compiles on
      windows
    - added HIP stubs to allow HIP compilation
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    4ad491e View commit details
    Browse the repository at this point in the history
  12. Made GmresMixed compile with complex types

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    fbcc4f2 View commit details
    Browse the repository at this point in the history
  13. The update routines have been improved. Now the computational time is…

    … close to 75s for 6221 iters.
    
    Next steps should be:
      * Add the computation of the inf-norm for the next_krylov_basis.
      * Merge updating and norms computations.
    josealiaga authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    911fd5c View commit details
    Browse the repository at this point in the history
  14. Add specialization for integer types for Accessor

    The specialization is currently set to only work with float storage
    type to test the pipeline, but it can easily be modified to work with
    all integer types.
    The Accessor was also moved from a shared header to a gmres_mixed
    exclusive header.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    db081ac View commit details
    Browse the repository at this point in the history
  15. Make the scale work with integer types

    Also did some name changes.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    7db4796 View commit details
    Browse the repository at this point in the history
  16. Add helper to determine if we need a scale or not

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    9bbcf87 View commit details
    Browse the repository at this point in the history
  17. Add a helper structure to manage the scale writing in common

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    97689ab View commit details
    Browse the repository at this point in the history
  18. Testing the push command

    josealiaga authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    c0aa2ed View commit details
    Browse the repository at this point in the history
  19. Definition of norm2 and norminf routines in CUDA. Only the first one …

    …is used because the second one needs the correct management of norms as noncomplex values.
    
    The next step will be to use remove_complex for norms, and then, to use norminf.
    josealiaga authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    da8a56e View commit details
    Browse the repository at this point in the history
  20. remove_complex has been added to the norms variables, and multinorm2_…

    …inf_kernel has been created.
    
    Also, the last 2-norm computation is uses as the hessenberg component, avoiding
    the use of update_hessenberg_2_kernel.
    
    Next steps:
      * To solve the problems which have been found when the set_scale method is used.
      * To know why the reference tests don't work properly.
    josealiaga authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    23efe7a View commit details
    Browse the repository at this point in the history
  21. Fixed cuda step2 to take a view into account

    Previously, the full krylov_bases were always used, regardless if a
    view was used or not. Now, the dimensions for krylov_bases are derived
    from hessenberg to take a potential view into account.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    f3cdbd7 View commit details
    Browse the repository at this point in the history
  22. Change const accessor to non-const in check_arnoldi_norms_new

    This allows it to compile with the writing of the scale.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    d4865f2 View commit details
    Browse the repository at this point in the history
  23. The set_scale method finally works!!

    I have also tested the <double, long int> case and it also works.
    josealiaga authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    42a779b View commit details
    Browse the repository at this point in the history
  24. Change storage layout of krylov_bases

    Previously, krylov bases b1, b2, b3 were stored
    [b1[0], b2[0], b3[0],b1[1], b2[1], b3[1], ...]. Now, they are stored in
    transposed fashion: [b1; b2; b3], which is equivalent to
    [b1[0], b1[1], ..., b2[0], b2[1],..., b3[0], b3[1], ...]
    Note that if multiple right hand sides are present, the vectors are
    still stored in row major.
    
    To make that happen, the accessor is now 3D. They store the follwing
    for (x, y, z):
     x: represent which krylov vector you want to address
     y: which row-element you want to use and
     z: which column-element, aka which right hand side you want to use.
    
    The accessor is stored row-major.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    6b25d2e View commit details
    Browse the repository at this point in the history
  25. Make memory access to krylov_bases coalesced again

    This is only done for finish_arnoldi_CGS2 by changing the kernels to
    adapt to the new storage format of krylov_bases.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    e3ca7cc View commit details
    Browse the repository at this point in the history
  26. Transpose grid when launching singledot kernel

    Transposing is supposed to avoid write-conflicts during the atomic_add
    at the end. Obviously, the kernel was changed accordingly, so the
    behavior has not changed.
    Also contains:
    - Scaling is now only added for integer types (not for float anymore)
    - Add benchmarks for GmresMixed integer
    - Some cleanup for debug output in CUDA
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    911fccb View commit details
    Browse the repository at this point in the history
  27. Reversed the transpose of the grid dim

    The transposing needs further investigation, but a single test on a
    V100 lead to worse results than before, so I am undoing this change
    for now.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    5dd8bf2 View commit details
    Browse the repository at this point in the history
  28. Add half precision support to GmresMixed

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    b214a5f View commit details
    Browse the repository at this point in the history
  29. Hopefully improve singledot performance

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    f1f178e View commit details
    Browse the repository at this point in the history
  30. Infinity norm only computed when scale is present

    Additionally, removed the debug output and removed unused kernel
    parameter.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    fb64f5c View commit details
    Browse the repository at this point in the history
  31. Add another RHS generation in the benchmark

    - The benchmark script now has the option to change the initial guess
    - Add option to generate the RHS with:
      b = A * (s / |s|) with s(i) = sin(i)
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    155c552 View commit details
    Browse the repository at this point in the history
  32. Fix residual_norm calculation in GmresMixed

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    d660c47 View commit details
    Browse the repository at this point in the history
  33. Make sure GmresMixed does not exit early

    If the stopping criterion is met, perform a reset of GMRES and check
    the residual again. If it is still correct, exit, otherwise, keep
    calculating.
    
    Other changes:
    - Renamed krylov_dim_mixed to krylov_dim in GmresMixed (to be
      consistent with Gmres)
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    8ede6d6 View commit details
    Browse the repository at this point in the history
  34. Add benchmark parameter for GMRES krylov_dim

    Adds the parameter in the benchmark script (and documentation).
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    af6fb48 View commit details
    Browse the repository at this point in the history
  35. Add forced iterations when convergence is detected

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    49f1763 View commit details
    Browse the repository at this point in the history
  36. Add debug output to forced iterations

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    188ff18 View commit details
    Browse the repository at this point in the history
  37. Fix reference bug in GmresMixed

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    297004b View commit details
    Browse the repository at this point in the history
  38. DEBUG: Add write output for integral accessor

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    b7765c3 View commit details
    Browse the repository at this point in the history
  39. DEBUG: Move towards at with accessor

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    f31e87d View commit details
    Browse the repository at this point in the history
  40. Remove Accessor3dConst

    Reference executor now compiles, with the donwside that an Accessor
    can no longer be created from const pointers.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    6f82f47 View commit details
    Browse the repository at this point in the history
  41. Adopt OpenMP support to new Accessor

    So it compiles and works, it does not yet use `at` or similar.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    c385a2b View commit details
    Browse the repository at this point in the history
  42. Remove unused GMRES_mixed code from Ref & OMP

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    9a0a0f0 View commit details
    Browse the repository at this point in the history
  43. Adopt CUDA to the new accessor format (NOT at)

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    3d44a21 View commit details
    Browse the repository at this point in the history
  44. Make HIP and CUDA work with new accessor (NOT at)

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    e1654b4 View commit details
    Browse the repository at this point in the history
  45. Remove unused code from CUDA

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    5d09f2a View commit details
    Browse the repository at this point in the history
  46. CUDA implementation is now using at

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    48e0899 View commit details
    Browse the repository at this point in the history
  47. Re-add ConstAccessor

    Also add instantiation macro for ConstAccessors
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    b542646 View commit details
    Browse the repository at this point in the history
  48. Fix accessor by adding additional __restrict__

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    b0a2ac3 View commit details
    Browse the repository at this point in the history
  49. GmresMixed storage prec is now a factory parameter

    Currently, only core is adapted with the reference test started
    (not all precision combinations are tested properly).
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    5d1f173 View commit details
    Browse the repository at this point in the history
  50. Improve reference test and include the enum there

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    267bbf1 View commit details
    Browse the repository at this point in the history
  51. Fix the reference test to pass

    Also CUDA and OpenMP compiles now for the new accessor layout.
    Benchmarks is still TODO.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    6b92a4f View commit details
    Browse the repository at this point in the history
  52. Adopt to new parameter macros

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    1d4a773 View commit details
    Browse the repository at this point in the history
  53. Update the helper to throw when complex

    Also add instantiation for single precision floating point
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    30381e2 View commit details
    Browse the repository at this point in the history
  54. Make GmresMixed work properly with multiple RHS

    Also adjust test precision to be more accurate.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    6d30e36 View commit details
    Browse the repository at this point in the history
  55. Fix benchmark to work with new GmresMixed layout

    Make GmresMixed reference test work on CI.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    7f86d9c View commit details
    Browse the repository at this point in the history
  56. Use new reduced_row_major Accessor in GmresMixed

    Of course also use scaled_reduced_row_major.
    Both are from the newly-added Accessors from the private headers.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    b2b9ebc View commit details
    Browse the repository at this point in the history
  57. Remove unnecessary code from CUDA GmresMixed

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    db3046f View commit details
    Browse the repository at this point in the history
  58. Add HIP kernels

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    da87d06 View commit details
    Browse the repository at this point in the history
  59. Fix GmresMixed core problem

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    65a8a8b View commit details
    Browse the repository at this point in the history
  60. Improve force-reset behavior

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    a9646e8 View commit details
    Browse the repository at this point in the history
  61. Rename GmresMixed to CbGmres

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    c6020db View commit details
    Browse the repository at this point in the history
  62. Format files

    Co-authored-by: Thomas Grützmacher <[email protected]>
    2 people authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    36a1a19 View commit details
    Browse the repository at this point in the history
  63. Add DPCPP stubs to allow compilation

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    c4a7335 View commit details
    Browse the repository at this point in the history
  64. Make cb-gmres benchmarks dependent on etype

    TODO: Rename cb-gmres benchmark strings
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    fa1fc39 View commit details
    Browse the repository at this point in the history
  65. Fix implementation and reference test for CB-GMRES

    Having forced iteration for small matrices can lead to NaN values during
    CB-GMRES. To prevent that, forced iterations now only happen after the
    10th total iteration. Before that, a vector is immediately declared as
    converged as soon as the stopping criterion said so.
    
    Also done:
    - Removed useless debug-output from CB-GMRES
    - Changed the tolerances for the reference test to always pass
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    c509263 View commit details
    Browse the repository at this point in the history
  66. Update tolerance for one reference CB-GMRES test

    This is necessary for the Intel compiler to pass the test
    `SolvesStencilSystem2`.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    6bb09da View commit details
    Browse the repository at this point in the history
  67. Update atomic_max

    - Remove unnecessary code
    - Add wrapper function to `atomic_helper` in order make it easier to
      implement other atomic operations (atomic_add and atomic_max use this
      wrapper)
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    3655021 View commit details
    Browse the repository at this point in the history
  68. Remove unnecessary kernels and properly name them

    in CB-GMRES
    
    Co-authored-by: Terry Cojean <[email protected]>
    Co-authored-by: Yuhsiang M. Tsai <[email protected]>
    3 people committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    5270478 View commit details
    Browse the repository at this point in the history
  69. Review update

    - Add arnoldi_norm documentation and add it in the tests
      (was not part of it previously, and needs a fix)
    - Add documentation to benchmarking
    - Rename namespace and helper for range helper
    
    Co-authored-by: Terry Cojean <[email protected]>
    Co-authored-by: Yuhsiang M. Tsai <[email protected]>
    3 people committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    2f0a32e View commit details
    Browse the repository at this point in the history
  70. Add Helper INSTANTIATE macro for CB-GMRES

    Co-authored-by: Terry Cojean <[email protected]>
    Thomas Grützmacher and tcojean committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    58e1104 View commit details
    Browse the repository at this point in the history
  71. Remove CB-GMRES and GMRES example

    Both examples are removed because the functionality is so similar to
    simple-solver, so it does not add a lot of value.
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    c47a4ca View commit details
    Browse the repository at this point in the history
  72. Review update

    - Add more documentation to CB-GMRES
    - Add CB-GMRES to test-install
    
    Co-authored-by: Terry Cojean <[email protected]>
    Co-authored-by: Yuhsiang M. Tsai <[email protected]>
    3 people committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    2b587ba View commit details
    Browse the repository at this point in the history
  73. Remove unnecessary includes of iostream and time.h

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    da8a6b4 View commit details
    Browse the repository at this point in the history
  74. Remove circular dependency of compute_norm2 in (CB)-GMRES

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    c4c1270 View commit details
    Browse the repository at this point in the history
  75. Update solver generation in benchmark

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    00d33b5 View commit details
    Browse the repository at this point in the history
  76. Update eta and arnoldi_norms in CB-GMRES

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    b163893 View commit details
    Browse the repository at this point in the history
  77. Remove CUDA 9.0 exception for constexpr parameter

    `--expt-relaxed-constexpr` is now used for every CUDA version
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    342957a View commit details
    Browse the repository at this point in the history
  78. Review Update

    Co-authored-by: Pratik Nayak <[email protected]>
    Thomas Grützmacher and pratikvn committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    370d208 View commit details
    Browse the repository at this point in the history
  79. Sonarcloud update

    The following modifications were done for CB-GMRES:
    - Remove unused kernel parameters `num_reorth_steps` and
      `num_reorth_vectors`
    - Remove unused `b_norm`
    - Make unused kernel parameters unnamed
    - Add some explicit casts to prevent warning
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    1b2071d View commit details
    Browse the repository at this point in the history
  80. Review update; Improve run_all_benchmarks.sh

    - Update documentation of GMRES to mention the usage of MGS
    - Use reduced precision in CB-GMRES by default
    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    b4a6fc9 View commit details
    Browse the repository at this point in the history
  81. Put storage_precision enum into cb_gmres namespace

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    599e261 View commit details
    Browse the repository at this point in the history
  82. Add CB-GMRES example

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    5126858 View commit details
    Browse the repository at this point in the history
  83. Remove unnecessary included files for CB-GMRES

    Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    169040d View commit details
    Browse the repository at this point in the history
  84. Review update

    Co-authored-by: Pratik Nayak <[email protected]>
    Thomas Grützmacher and pratikvn committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    05374fd View commit details
    Browse the repository at this point in the history
  85. Review update

    - Extract GPU kernels for CB-GMRES and GMRES into a new file to avoid
      duplication.
    - Adopt the updated GMRES functionality for these kernels for CPU and
      GPU
    
    Co-authored-by: Pratik Nayak <[email protected]>
    Thomas Grützmacher and pratikvn committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    389d038 View commit details
    Browse the repository at this point in the history
  86. Update contributors.txt

    josealiaga authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    6d6bbab View commit details
    Browse the repository at this point in the history
  87. Update contributors.txt

    josealiaga authored and Thomas Grützmacher committed Feb 19, 2021
    Configuration menu
    Copy the full SHA
    4d722f1 View commit details
    Browse the repository at this point in the history