Daniel Richtmann
683a7d2ddd
WilsonMG: Move comment to make clang-format happy
2018-03-26 14:59:40 +02:00
Daniel Richtmann
3c3ec4e267
WilsonMG: Move tests for Wilson & WilsonClover into the same file
2018-03-23 21:12:27 +01:00
Daniel Richtmann
0f6009a29f
WilsonMG: Huge refactor into something that could be considered an algorithm
2018-03-23 19:55:43 +01:00
Daniel Richtmann
a66cecc509
WilsonMG: Fix invalid call to MR ctor
2018-03-09 17:34:29 +01:00
Daniel Richtmann
1e63b73a14
WilsonMG: Some cleanup/formatting
2018-03-09 16:50:19 +01:00
paboyle
2018077770
Make NVCC happy with the compile. This is warning free on 9.1 on my laptop (both make and make tests).
2018-03-05 00:28:24 +00:00
paboyle
bb7d87d0a0
Coordinate handling gpu friendly
2018-02-24 22:18:33 +00:00
Azusa Yamaguchi
0f468e2179
OverlappedComm for Staggered 5D and 4D.
2018-02-22 12:50:09 +00:00
Daniel Richtmann
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
Daniel Richtmann
48177f2f2d
Add tests for all MR|GMRES solvers with wilson clover action
2018-02-08 23:52:09 +01:00
Daniel Richtmann
c4ce70a821
WilsonMG: Major cleanup
2018-02-08 23:52:08 +01:00
Daniel Richtmann
a3e009ba54
Add tests for CAGMRES solvers with staggered action
2018-02-08 17:46:28 +01:00
Daniel Richtmann
13ae371ef8
Make solver parameters match in all MR|GMRES solver tests
2018-02-08 17:33:10 +01:00
Daniel Richtmann
cc2f00f827
Remove test for MR solver with dwf action as it doesn't converge
2018-02-07 18:09:08 +01:00
Daniel Richtmann
cd61e2e6d6
Increase max iterations in test of MR solver with staggered action
2018-02-07 18:09:07 +01:00
Daniel Richtmann
323ed1a588
Add an overrelaxation parameter to the MR solver
2018-02-07 18:09:06 +01:00
Daniel Richtmann
1671adfd49
WilsonMG: Add some tests for linear operators
2018-02-07 17:15:22 +01:00
Daniel Richtmann
871649238c
WilsonMG: Stricter naming for linear operators
2018-02-01 14:43:08 +01:00
Daniel Richtmann
7c86d2085b
WilsonMG: Some minor cleanup
2018-02-01 12:24:16 +01:00
Daniel Richtmann
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
Daniel Richtmann
10141f90c9
WilsonMG: Rename test file
2018-01-30 10:25:09 +01:00
Daniel Richtmann
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
Daniel Richtmann
d2e68c4355
WilsonMG: Perform some minor cleanup
2018-01-29 18:07:10 +01:00
Daniel Richtmann
194e4b94bb
Make MG checking function work level-wise
2018-01-29 17:18:20 +01:00
paboyle
98af36217a
Zero changes. (I mean literally)
2018-01-27 23:46:02 +00:00
paboyle
c4f82e072b
_grid becomes private ; use Grid()§
2018-01-27 00:04:12 +00:00
paboyle
3f9654e397
Hiding internals
2018-01-26 23:09:03 +00:00
Daniel Richtmann
9dc885d297
Fix a bug in Wilson MG
...
The calculation of the lattice size of a second coarse level was incorrect.
2018-01-18 17:02:04 +01:00
Daniel Richtmann
a70c1feecc
Remove some unnecessary stuff in Wilson MG
2018-01-18 15:48:28 +01:00
Daniel Richtmann
38328100c9
Implement correctness checks for Wilson MG
2018-01-18 15:43:15 +01:00
Daniel Richtmann
9732519c41
Apply clang-format to Wilson MG
...
I can provide the configuration file I used if people want that.
2018-01-18 15:14:37 +01:00
Daniel Richtmann
fa4eeb28c4
Save current state in Wilson MG test file
2018-01-17 17:56:34 +01:00
paboyle
d74c21a386
GLobal edit for QCD namespace removal & NAMESPACE macros
2018-01-15 09:37:58 +00:00
Daniel Richtmann
73434db636
Merge remote-tracking branch 'upstream/develop' into feature/ddalphaamg
2018-01-09 10:43:33 +01:00
paboyle
bda97212a9
Simplify proliferation of comms layers
2018-01-08 11:29:20 +00:00
Daniel Richtmann
c6411f8514
Merge remote-tracking branch 'upstream/develop' into feature/ddalphaamg
2018-01-08 10:37:10 +01:00
Daniel Richtmann
6cf635d61c
Remove some old code in Wilson MG
2017-12-22 13:20:09 +01:00
Daniel Richtmann
39558cce52
Multiply TVs in Wilson MG with G5 instead of G5R5
2017-12-22 13:07:56 +01:00
paboyle
3729c7a7a6
Clean up of test
2017-12-05 13:07:31 +00:00
Daniel Richtmann
4e965c168e
Implement analogon to test vector analysis in WMG codebase
2017-11-29 15:05:27 +01:00
Daniel Richtmann
f260af546e
Save current state
2017-11-28 15:03:02 +01:00
paboyle
e6a3e375cf
Debug
2017-11-27 15:10:22 +00:00
paboyle
4987edbd44
Merge branch 'develop' of https://github.com/paboyle/Grid into develop
2017-11-27 12:34:56 +00:00
paboyle
ad140bb6e7
Clean on multinode target after split 1 1 2 4 -> 1 1 2 2
2017-11-27 12:34:25 +00:00
azusayamaguchi
e55397bc13
Staggerd cg
2017-11-24 14:18:30 +00:00
Daniel Richtmann
649b8c9aca
Save current state
2017-11-24 10:46:20 +01:00
paboyle
94b8fb5686
Debug in progress
2017-11-19 01:39:04 +00:00
Daniel Richtmann
a367835bf2
Set everything up for the implementation of FCAGMRES
...
The current implementation is the exact same code as normal FGMRES. This commit
only sets up the "framework" for the implementation of FCAGMRES, i.e., a test
and an include in the algorithms header file.
2017-11-09 17:30:41 +01:00
Daniel Richtmann
c6cbe533ea
Set everything up for the implementation of CAGMRES
...
The current implementation is the exact same code as normal GMRES. This commit
only sets up the "framework" for the implementation of CAGMRES, i.e., a test and
an include in the algorithms header file.
2017-11-09 17:14:44 +01:00
Daniel Richtmann
699d537cd6
Add FGMRES test with staggered fermions
2017-11-08 16:56:42 +01:00
Daniel Richtmann
9031f0ed95
Fix a filename in a file header
2017-11-08 16:42:26 +01:00
Daniel Richtmann
26b3d441bb
Check in forgotten FGMRES test with wilson Fermions
2017-11-08 16:39:11 +01:00
Daniel Richtmann
37b777d801
Add test for GMRES solver with staggered fermions
2017-11-08 14:28:48 +01:00
Daniel Richtmann
7f4ed6c2e5
First working version of GMRES + a test for Wilson fermions
2017-11-08 13:56:41 +01:00
Daniel Richtmann
56d32a4afb
Rename misunderstood "rsd_sq" to "rsq" in MR code
2017-11-08 13:51:08 +01:00
Daniel Richtmann
8363edfcdb
Perform some minor changes to GMRES code
2017-11-06 16:17:44 +01:00
Daniel Richtmann
74af31564f
Adapt style of wilson GMRES test to style of wilson MR test
2017-11-06 14:06:45 +01:00
Daniel Richtmann
e0819d395f
Merge remote-tracking branch 'upstream/develop' into feature/new-solver-algorithms
2017-11-06 13:09:36 +01:00
Daniel Richtmann
6f81906b00
Add test for the MR solver with staggered fermions; does not converge atm
...
TODO: Is this a property of staggered or did I do something wrong?
2017-10-30 16:57:55 +01:00
Daniel Richtmann
a2d83d4f3d
Add test for the MR solver with DW fermions; does not converge atm
...
TODO: Is this a property of DWF or did I do something wrong?
2017-10-30 16:39:30 +01:00
Daniel Richtmann
89bacb0470
Fix path in MR solver header commentary
2017-10-30 16:16:55 +01:00
Daniel Richtmann
19010ff66a
Merge remote-tracking branch 'upstream/develop' into feature/new-solver-algorithms
2017-10-30 13:16:46 +01:00
paboyle
78e8704eac
Shaking out
2017-10-30 00:25:31 +00:00
paboyle
67131d82f2
Get subrank info from communicator constructor
2017-10-30 00:24:11 +00:00
paboyle
615a9448b9
Extended sub comm supported
2017-10-30 00:23:34 +00:00
paboyle
00164f5ce5
:
2017-10-30 00:22:52 +00:00
paboyle
5bf42e1e15
Update
2017-10-30 00:05:21 +00:00
paboyle
84b441800f
Merge branch 'develop' into feature/lanczos-reorg
2017-10-27 14:21:38 +01:00
Daniel Richtmann
e7b1933e88
Add a test for the MR solver
2017-10-27 14:38:57 +02:00
Daniel Richtmann
074db32e54
Fix build of gmres test
2017-10-27 14:08:48 +02:00
Azusa Yamaguchi
034de160bf
Staggered updates : Schur fixed and added a unit test for Test_staggered_cg_schur.cc giving stronger check
2017-10-26 20:58:46 +01:00
paboyle
2db05ac214
Test for split/unsplit in isolation
2017-10-26 07:48:03 +01:00
paboyle
d577211cc3
Relax stoppign condition
2017-10-25 23:57:54 +01:00
paboyle
f4336e480a
Faster converge time
2017-10-25 23:53:44 +01:00
Daniel Richtmann
1ab8d5cc13
Save two more files
2017-10-24 16:58:05 +02:00
Daniel Richtmann
53cfa44d7a
Save current state
2017-10-24 16:58:03 +02:00
paboyle
9fe6ac71ea
Starting reorg of Blocked lanczos
2017-10-11 10:12:07 +01:00
paboyle
bf58557fb1
Block compressed Lanczos
2017-10-10 14:15:11 +01:00
paboyle
10cb37f504
Merge branch 'develop' of https://github.com/paboyle/Grid into develop
2017-10-10 14:09:44 +01:00
Azusa Yamaguchi
1374c943d4
Correct Schur operator called
2017-10-10 13:59:50 +01:00
paboyle
d1c6288c5f
Merge branch 'develop' of https://github.com/paboyle/Grid into develop
2017-10-10 13:38:40 +01:00
Azusa Yamaguchi
bb7378cfc3
Schur for staggered
2017-10-10 12:02:18 +01:00
paboyle
153672d8ec
Split CG testing
2017-10-09 23:20:58 +01:00
Azusa Yamaguchi
09f4cdb11e
Merge branch 'develop' of https://github.com/paboyle/Grid into feature/staggering
2017-10-04 10:51:16 +01:00
Azusa Yamaguchi
1e54882f71
Stagger
2017-10-04 10:51:06 +01:00
paboyle
e5c19e1fd7
RB constructor change
2017-10-02 12:25:52 +01:00
paboyle
a11d0a33d1
Merge branch 'feature/dwf-multirhs' of https://github.com/paboyle/Grid into feature/dwf-multirhs
2017-10-02 11:42:07 +01:00
paboyle
4f8b6f26b4
Merge branch 'develop' into feature/dwf-multirhs
2017-10-02 11:41:49 +01:00
paboyle
073525c5b3
Small patch from cori
2017-10-02 03:38:21 -07:00
paboyle
5918769f97
Subtle Naik term bug updated in Stencil; less on logical && with a function call on right
2017-09-16 12:51:26 +01:00
Azusa Yamaguchi
d9cd4f0273
Staggered multinode block cg debugged. Missing global sum.
...
Code stalls and resumes on KNL at cambridge. Curious.
CG iterations 23ms each, then 3200 ms pauses. Mean bandwidth reports
as 200MB/s. Comms dominant in the report. However, the time behaviour suggests it
is *bursty*.... Could be swap to disk?
2017-08-23 15:07:18 +01:00
paboyle
ac740f73ce
Works on Cori
2017-07-02 16:47:58 -07:00
paboyle
dee68fc728
IO working multiple nodes again. Strategy of all nodes writing metadata is unsafe.
...
Only one rank should do this. must identify this rank. Means pass communicator to the
Objects.
2017-07-02 23:33:48 +01:00
paboyle
57002924bc
NERSC shakeout of this
2017-07-02 14:58:30 -07:00
paboyle
600d7ddc2e
Proof of concept : Multi RHS solver, running independent solves on different ranks
2017-06-22 18:54:34 +01:00
paboyle
6ebf9f15b7
Splitting communicators first cut
2017-06-22 08:14:34 +01:00
paboyle
1d7aa673a4
Include BlockCG by default
2017-06-21 21:08:53 +01:00
paboyle
7e35286860
Simplified lanczos, added Eigen diagonalisation.
...
Curious if we can deprecate dependencly on BLAS.
Will see when we get 48^3 running on our BG/Q port
2017-06-21 02:26:03 +01:00
paboyle
0486ff8e79
Improved the lancos
2017-06-20 18:46:01 +01:00
Azusa Yamaguchi
e9cc21900f
Block solver complete for staggered. Now stable on mass 0.003 and
...
gives 8x (!) speed up on Haswell laptop vs. standard CG for 8 RHS solves.
166 iterations vs. 537 iterations so algorithmic gain + 2x in flop rate gain.
Better than a slap in the face with a wet kipper.
2017-06-20 12:37:41 +01:00