485c5db0fe
conversion of Grid tensors to nested std::vector in preparation for tensor serialisation
2018-03-06 19:22:03 +00:00
c399c2b44d
Guido broke the charge conjugate plaquette action with premature optimisation.
...
This sector of the code does not matter for anything other than Guido's quenched HMC
studies, and any plaq specific optimisations should be retained in a private branch
instead of destroying the code simplicity.
2018-03-05 12:55:41 +00:00
af7de7a294
Merge branch 'develop' of https://github.com/paboyle/Grid into develop
2018-03-05 12:22:41 +00:00
1dc86efd26
Finalize protection
2018-03-05 12:22:18 +00:00
30391cb2eb
Merge pull request #155 from fionnoh/develop
...
Some changes needed for deflation interface
2018-03-03 13:43:59 +00:00
2e88408f5c
Some changes needed for deflation interface
2018-03-02 22:27:41 +00:00
4790e99817
Extra communicator free that I had missed.
...
Hard to audit them all as this is complex
2018-02-20 15:12:31 +00:00
2dd63aa7a4
Merge branch 'develop' of https://github.com/paboyle/Grid into develop
2018-02-20 14:29:26 +00:00
559a501140
Deflation interface for solvers
2018-02-20 14:29:08 +00:00
945684c470
updates for deflation in the RB solver
2018-02-20 14:28:38 +00:00
e30a80a234
Relaxed constraints on MPI thread mode when not using multiple comms threads
2018-02-15 17:13:36 +00:00
c96483e3bd
Whitespace only change
2018-02-13 11:39:07 +00:00
ae31a6a760
Move deflate to right class
2018-02-13 02:11:37 +00:00
dd8f2a64fe
INterface to suit hadrons on Lanczos
2018-02-13 02:08:49 +00:00
7b8b2731e7
Conj error for complex coeffs
2018-02-12 16:06:31 +00:00
237a8ec918
Communicator leak fixed (I think)
2018-02-12 13:27:20 +00:00
6ab60c5b70
Merge remote-tracking branch 'upstream/develop' into feature/wilsonmg
2018-02-08 23:59:07 +01:00
8c692b7ffd
WilsonMG: Comment assertion on hermiticity of coarse operator for now
...
TODO: Think of a way to not break dwf_hdcr by doing that. It's only an assertion
but it still interferes with it.
2018-02-08 23:55:05 +01:00
2976132bdd
Add first version of multigrid for wilson clover analogous to wilson one
...
Just like the wilson one, this algorithm
• is currently only a 2-level method since I don't have correct implementations
for Mdir and Mdiag in CoarsenedMatrix yet (needed for further coarsening)
• needs levelization and refactoring into a proper algorithm
2018-02-08 23:52:10 +01:00
48177f2f2d
Add tests for all MR|GMRES solvers with wilson clover action
2018-02-08 23:52:09 +01:00
c4ce70a821
WilsonMG: Major cleanup
2018-02-08 23:52:08 +01:00
a3e009ba54
Add tests for CAGMRES solvers with staggered action
2018-02-08 17:46:28 +01:00
eb7cf239d9
Print warning messages in CAGMRES solvers
...
Currently, the implementation of these algorithms doesn't differ from their non
communication-avoiding versions.
2018-02-08 17:43:47 +01:00
13ae371ef8
Make solver parameters match in all MR|GMRES solver tests
2018-02-08 17:33:10 +01:00
9f79a87102
Fix bugs in Flexible GMRES solvers
...
Somehow I got the left and right-preconditioned versions of GMRES mixed up. As
of now this is right-preconditioned version, which is what we want.
2018-02-08 16:00:31 +01:00
4ded1ceeb0
Make GMRES solvers perform no more than MaxIterations steps
...
I noticed that it was possible to overrun this number.
2018-02-08 15:29:44 +01:00
8bc12e0ce1
Remove superfluous comments in MR solver
2018-02-07 18:09:09 +01:00
cc2f00f827
Remove test for MR solver with dwf action as it doesn't converge
2018-02-07 18:09:08 +01:00
cd61e2e6d6
Increase max iterations in test of MR solver with staggered action
2018-02-07 18:09:07 +01:00
323ed1a588
Add an overrelaxation parameter to the MR solver
2018-02-07 18:09:06 +01:00
68c66d2e4b
Remove empty line in output of *Residual* solvers
2018-02-07 18:08:56 +01:00
1671adfd49
WilsonMG: Add some tests for linear operators
2018-02-07 17:15:22 +01:00
896f3a8002
Fix to MPI for Hokusai system
2018-02-01 18:51:51 +00:00
871649238c
WilsonMG: Stricter naming for linear operators
2018-02-01 14:43:08 +01:00
7c86d2085b
WilsonMG: Some minor cleanup
2018-02-01 12:24:16 +01:00
9292be0b69
WilsonMG: Add check for Mdiag + Σ Mdir == M
...
Need to test my implementations of CoarsenedMatrix::Mdiag &
CoarsenedMatrix::Mdir.
2018-01-31 14:03:30 +01:00
f0fcdf75b5
Update README.md
2018-01-30 12:44:20 +01:00
53bffb83d4
Updating README with new SKL target
2018-01-30 12:42:36 +01:00
10141f90c9
WilsonMG: Rename test file
2018-01-30 10:25:09 +01:00
cd44e851f1
Fixing compilation error in FundtoHirep
2018-01-30 06:04:30 +01:00
a414430817
Merge remote-tracking branch 'upstream/develop' into feature/ddalphaamg
2018-01-29 18:32:31 +01:00
f20728baa9
WilsonMG: Some further steps towards a three level method
...
Currently this is very "manual" as we are still testing stuff. Will refactor
and make it an algorithm once everything works.
What currently does work:
- All tests in MultiGridPreconditioner::runChecks for the first coarse grid
- The tests for the intergrid operators going from the first to the second
coarse grid
- (1 - P R) v == 0
- (1 - R P) v_c == 0
- A full solve with VPGCR and a two-level MG preconditioner
What hinders the rest of the tests from passing with a three-level method is the
absence of implementations of CoarsenedMatrix::Mdir and CoarsenedMatrix::Mdiag.
2018-01-29 18:29:49 +01:00
d2e68c4355
WilsonMG: Perform some minor cleanup
2018-01-29 18:07:10 +01:00
1cb745c8dc
Add function to return full type as std::string
...
Also works for nested templates. I find it useful for debugging.
Possible usage:
std::cout << "getTypename<AType>() = " << getTypename<Atype>() << std::endl;
std::cout << "getTypename<decltype(AnInstance)>() = " << getTypename<decltype(AnInstance)>() << std::endl;
2018-01-29 17:39:19 +01:00
faf4278019
Use 2 passes of GS in coarse operator construction
2018-01-29 17:21:42 +01:00
194e4b94bb
Make MG checking function work level-wise
2018-01-29 17:18:20 +01:00
bfc1411c1f
Use more iterations in subspace creation
2018-01-29 17:11:29 +01:00
161637e573
Turn on orthogonality checking temporarily
2018-01-29 17:10:05 +01:00
fb24e3a7d2
Adding utilities for perf profiling
2018-01-29 11:11:45 +01:00
655a69259a
Added support for GCC compilation for Skylake AVX512
2018-01-28 17:02:46 +01:00