1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-16 18:55:37 +00:00
Commit Graph

6277 Commits

Author SHA1 Message Date
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
Daniel Richtmann
bfc1411c1f
Use more iterations in subspace creation 2018-01-29 17:11:29 +01:00
Daniel Richtmann
161637e573
Turn on orthogonality checking temporarily 2018-01-29 17:10:05 +01:00
paboyle
79b50feacf fixme updates 2018-01-29 16:00:40 +00:00
Guido Cossu
fb24e3a7d2 Adding utilities for perf profiling 2018-01-29 11:11:45 +01:00
Guido Cossu
655a69259a Added support for GCC compilation for Skylake AVX512 2018-01-28 17:02:46 +01:00
paboyle
c67c1544cd abs no compile on travis fix attempt 2018-01-28 10:26:04 +00:00
paboyle
e657f9a344 OMP collapse changes to make NVCC happy 2018-01-28 01:21:53 +00:00
paboyle
b6ebf35af5 Intel compiler doesn't like Nvidia error disable pragmas 2018-01-28 01:03:10 +00:00
paboyle
604c05f4b8 parallel_for elimination -> thread_loop 2018-01-28 01:01:36 +00:00
paboyle
70e276e1ab parallel_for elimination -> thread_loop 2018-01-28 01:01:14 +00:00
paboyle
9472b02771 Parallel_for elimination -> thread_loop. 2018-01-28 01:00:55 +00:00
paboyle
9597ab94eb Zero changes, swap on lattice type. 2018-01-27 23:51:40 +00:00
paboyle
ce4da83bc2 Zero changes, literally 2018-01-27 23:51:10 +00:00
paboyle
d557f3ef77 Zero changes (literally) and also a warning elimination 2018-01-27 23:50:43 +00:00
paboyle
f574c20118 Zero changes, __VA_ARGS__ and swap 2018-01-27 23:50:17 +00:00
paboyle
f102897385 VA_ARGS to make comma safe automatic 2018-01-27 23:49:47 +00:00
paboyle
d6fce3e498 Zero changes, literally 2018-01-27 23:48:01 +00:00
paboyle
2d0bcc2606 Zero changes, acceleartor on kernels and some thread loop changes 2018-01-27 23:47:38 +00:00