Daniel Richtmann
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
Daniel Richtmann
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
James Harrison
9f202782c5
QedFVol: Change format of scalar VP output files, and save diagrams without charge factors for consistency with ChargedProp module.
2018-02-07 20:31:50 +00:00
Daniel Richtmann
8bc12e0ce1
Remove superfluous comments in MR solver
2018-02-07 18:09:09 +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
68c66d2e4b
Remove empty line in output of *Residual* solvers
2018-02-07 18:08:56 +01:00
Daniel Richtmann
1671adfd49
WilsonMG: Add some tests for linear operators
2018-02-07 17:15:22 +01:00
James Harrison
594a262dcc
QedFVol: Remove redundant file Communicator_mpi.cc
2018-02-07 11:37:01 +00:00
James Harrison
7f8ca54285
Merge branch 'develop' into feature/qed-fvol
2018-02-07 10:11:00 +00:00
James Harrison
c5b23c367e
QedFVol: Fix segmentation fault when multiple propagator modules are used.
2018-02-05 11:46:33 +00:00
Vera Guelpers
b6fe03eb26
BugFix: Now the stochatic EM potential weight is generated when calling for the first time
2018-02-02 15:29:38 +00:00
James Harrison
f37ed4958b
Implement IR improvement, with coefficients set in input file.
2018-02-02 11:56:51 +00:00
paboyle
b9b5bdfc3a
Proper offload (accelerator access) will require a mutable copy lambda.
2018-02-02 11:38:19 +00:00
paboyle
51eb2c5dfc
Make referencign the stencil and all info required to evaluate the kernel
...
accelerator marked up
2018-02-02 11:37:13 +00:00
paboyle
ede0dff794
Mark up as an accelerator function
2018-02-02 11:36:44 +00:00
paboyle
aa6de818e2
Copy data needed by Kernels out of the grid object to avoid host reference
2018-02-02 11:36:11 +00:00
paboyle
dcf6517a93
Accelerator offload and copy Opt into the kernel for GPU host var safety
2018-02-02 11:35:35 +00:00
paboyle
a308dff410
accelerator loop, copy Opt into the GPU
2018-02-02 11:34:37 +00:00
paboyle
14ba20898a
Accelerator loop the key kernel call
2018-02-02 11:30:07 +00:00
paboyle
a53d3ee19a
Add Opt to the lambda capture to get it into the GPU
2018-02-02 11:28:39 +00:00
paboyle
5df435319d
Use constexpr
2018-02-02 11:27:56 +00:00
paboyle
0da2d3e222
accelerator off load some more stuff
2018-02-02 11:27:35 +00:00
paboyle
9c9dfbfa78
Force accelerator
2018-02-02 11:25:09 +00:00
paboyle
e4df025d01
Accelerator related
2018-02-01 23:20:05 +00:00
paboyle
cfeda9d536
constexpr on const ints
2018-02-01 22:59:12 +00:00
paboyle
4450b1993a
Offload
2018-02-01 22:45:47 +00:00
paboyle
d03ce5c2a4
Provide a way to get around std::vector for a known type on device.
...
Use template specialisation to access a private member in the Clang++ STL implementation
2018-02-01 22:44:25 +00:00
paboyle
7d6522c1ef
Accelerator inline
2018-02-01 22:43:56 +00:00
paboyle
b96832a922
Accelerator inline
2018-02-01 22:43:26 +00:00
paboyle
5d7af47b05
accelerator_inline
2018-02-01 22:42:54 +00:00
paboyle
053ef25c90
constexpr makes GPU happy
2018-02-01 22:42:29 +00:00
paboyle
8ae77d3706
Small simplification of FermionOperatorImpl towards GPU but not there yet
2018-02-01 22:41:54 +00:00
Peter Boyle
896f3a8002
Fix to MPI for Hokusai system
2018-02-01 18:51:51 +00:00
James Harrison
5f85473d6b
QedFVol: Move Projection class into Result class
2018-02-01 16:16:13 +00:00
Daniel Richtmann
871649238c
WilsonMG: Stricter naming for linear operators
2018-02-01 14:43:08 +01:00
James Harrison
ac3b0ebc58
QedFVol: New structure for ChargedProp output files
2018-02-01 12:31:32 +00: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
Guido Cossu
f0fcdf75b5
Update README.md
2018-01-30 12:44:20 +01:00
Guido Cossu
53bffb83d4
Updating README with new SKL target
2018-01-30 12:42:36 +01:00
Daniel Richtmann
10141f90c9
WilsonMG: Rename test file
2018-01-30 10:25:09 +01:00
Guido Cossu
cd44e851f1
Fixing compilation error in FundtoHirep
2018-01-30 06:04:30 +01:00
Daniel Richtmann
a414430817
Merge remote-tracking branch 'upstream/develop' into feature/ddalphaamg
2018-01-29 18:32:31 +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
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
Daniel Richtmann
faf4278019
Use 2 passes of GS in coarse operator construction
2018-01-29 17:21:42 +01:00
Daniel Richtmann
194e4b94bb
Make MG checking function work level-wise
2018-01-29 17:18:20 +01:00