Peter Boyle
8794d35c78
GPU
2019-06-04 20:52:27 +01:00
Peter Boyle
24bff6dbe6
Minor improvements
2019-06-04 20:51:48 +01:00
Peter Boyle
45b15d10d3
GPU happy changes
2019-06-04 20:49:16 +01:00
Peter Boyle
33d6bbe32b
GPU must use accelerator vectors
2019-06-04 20:48:52 +01:00
Peter Boyle
7a1569bd46
Annoying, cannot rely on equivalence of Grid ComplexD adn Eigen Complex type on GPU.
...
Solve with ComplexD typecasts but must be a better way
2019-06-04 20:47:49 +01:00
Peter Boyle
6e2e904a0e
NVCC compiles happy. Start to develop strategy for writing generic
...
code for GPU kernels and CPU kernels.
2019-06-04 20:46:35 +01:00
Peter Boyle
d92a17f359
Suppress NVCC warnings in pugixml with pragma
2019-06-04 20:45:53 +01:00
Peter Boyle
47c063f984
Remove Ls Vec cases from benchmarks
2019-06-04 20:45:35 +01:00
Peter Boyle
7e27a5213a
Tests builds clean.
2019-06-04 20:45:20 +01:00
Peter Boyle
ade4a126da
Getting closer on the GPU port, but will start deleting 5th dim vectorised variants
...
for code maintainability
2019-06-04 11:53:44 +01:00
Peter Boyle
7b59ab5bd7
Compiling after reorganisation
2019-06-03 15:46:26 +01:00
Peter Boyle
fcd8cfe257
Gparity in
2019-06-03 15:45:09 +01:00
Peter Boyle
b4b53812cb
Move implementation to specific implementation headers
2019-06-03 15:43:01 +01:00
Peter Boyle
085cac583f
Implementation in header
2019-06-03 15:42:36 +01:00
Peter Boyle
25e3b8640c
Move to header
2019-06-03 15:42:05 +01:00
Peter Boyle
44bbec50b0
Making GPU compile happy
2019-06-03 14:57:04 +01:00
Peter Boyle
ec68b67d5d
Attempt at unified GPU and CPU kernel
2019-06-03 14:55:51 +01:00
Peter Boyle
778450e0c8
Move to implementation subdir
2019-06-03 14:53:56 +01:00
Peter Boyle
567aa5f366
Move to implementation subdir
2019-06-03 14:53:33 +01:00
Peter Boyle
2ab7e2b175
Force instantiation in .cc files.
...
Eventually move into multiple files
2019-06-03 14:52:59 +01:00
Peter Boyle
6f61be044d
Dont instantiate in header
2019-06-03 14:52:01 +01:00
Peter Boyle
269e00509e
Don't instantiate in header
2019-06-03 14:51:24 +01:00
Peter Boyle
a5e90b0ddc
Making the kernels more GPU happy
2019-06-03 14:50:54 +01:00
Peter Boyle
5622faf226
pragma once ifdef guard
2019-06-03 14:50:26 +01:00
Peter Boyle
82ecd520c7
Macos happy fix under nvcc
2019-06-03 14:48:50 +01:00
Peter Boyle
ffde81f22a
Nsimd() and coalesced support
2019-05-25 12:44:07 +01:00
Peter Boyle
d8098f1ecd
coalesced support
2019-05-25 12:43:31 +01:00
Peter Boyle
aca788cf4f
Move coalesced read into tensors
2019-05-25 12:43:00 +01:00
Peter Boyle
a0e9f3b0a0
Plan for GPU port
2019-05-20 09:46:19 +01:00
Peter Boyle
a9342c6ae5
Udpdate TODO afer gianluc marge
2019-05-18 22:58:25 +01:00
Peter Boyle
4e9df9e93c
GPU patches
2019-05-18 17:43:11 +01:00
Peter Boyle
9fe68857a9
Runs multiGPU with coalesced access on tesseract
2019-05-18 17:42:41 +01:00
Peter Boyle
37336c9e0c
Allow compress to be either vector or scalar types
2019-05-18 17:41:13 +01:00
Peter Boyle
6c4da3bbc7
Stencil now runs with coalesced accesses
2019-05-18 17:40:35 +01:00
Peter Boyle
a584b16c4a
Adding a non-blocking kernel launch
2019-05-18 17:39:54 +01:00
Peter Boyle
60330e05a3
NVCC wacky compiler options frozen. Possibly Cuda 9.2 specific
2019-04-28 07:39:33 +01:00
Peter Boyle
f9b8c0cccf
Vector changes for UVM
2019-04-28 07:38:57 +01:00
Peter Boyle
3cad67e569
Compile on tesseract
2019-04-28 07:38:09 +01:00
Peter Boyle
170ba4e619
Ensure different MPI ranks use different GPUs. The mapping works on Tesseract.
2019-04-28 07:32:30 +01:00
Peter Boyle
204a090497
Inner product is not working on GPU. Why?
2019-04-28 07:31:56 +01:00
Peter Boyle
3c717c47ef
GPU no compile on Wilson Multigrid fixed
2019-04-28 07:31:19 +01:00
Peter Boyle
c5e081d69c
Re-Merge branch 'develop' into feature/gpu-port
...
Pull in Regensburg MultiGrid pull request
2019-01-03 01:50:16 +00:00
Peter Boyle
535a6aaf05
Update todo list
2019-01-02 22:07:51 +00:00
Peter Boyle
91a7fe247b
Merge branch 'DanielRichtmann-feature/wilsonmg' into develop
2019-01-02 14:40:31 +00:00
Peter Boyle
8a1be021d3
Merge branch 'feature/wilsonmg' of https://github.com/DanielRichtmann/Grid into DanielRichtmann-feature/wilsonmg
2019-01-02 14:39:59 +00:00
Peter Boyle
e73b909a48
Make tests running past nvcc. Different NVCC versions proving tricky to keep happy. This is 9.2
2019-01-02 12:05:30 +00:00
Peter Boyle
a4d9200293
Fixing AVX 512 instantiation error. Need to move to extern templates urgently.
2019-01-02 00:27:07 +00:00
Peter Boyle
350508bdb3
pugixml problem
2019-01-01 16:38:54 +00:00
Peter Boyle
38852737e4
No compile fix on clang
2019-01-01 15:55:13 +00:00
Peter Boyle
802404c78c
Remove warnings under NVCC and move parallel_for to thread-loop
2019-01-01 15:08:09 +00:00
Peter Boyle
0e9b591c1c
NVCC warning suppression
2019-01-01 15:07:47 +00:00
Peter Boyle
c43a2b599a
GPU support
2019-01-01 15:07:29 +00:00
Peter Boyle
8c91e82ee8
GPU clean up, remove parallel_for. Split into accelerator_loop, thread_loop
...
cases, and collides with parallel_for in thrust
2019-01-01 15:06:46 +00:00
Peter Boyle
9d866d062a
GPU support improvements
2019-01-01 15:05:03 +00:00
Peter Boyle
3a4e397e72
Deprecating JSON, too hard to support under NVCC
2019-01-01 15:04:33 +00:00
Peter Boyle
2b6cfe555f
Disable JSON on NVCC. Maybe unsupport JSON full stop. XML and JSON is too many formats in my view.
2019-01-01 15:03:50 +00:00
Peter Boyle
7df58dd883
Photon syntax gave problems with NVCC
2019-01-01 15:03:29 +00:00
Peter Boyle
4bf86ae60a
NVCC clean up
2019-01-01 15:02:50 +00:00
Peter Boyle
07ee87ff5a
GPU happy. Still need to prevent hand kernels being callable under NVCC
2019-01-01 15:00:33 +00:00
Peter Boyle
0c2498fe2f
Explicit instantiation needed for NVCC
2019-01-01 13:55:12 +00:00
Peter Boyle
ad2e65dad5
GPU related updates
2019-01-01 13:54:40 +00:00
Peter Boyle
715babeac8
GPU reductions first cut; use thrust, non-reproducible. Inclusive scan can fix this if desired.
...
Local reduction to LatticeComplex and then further reduction.
2019-01-01 13:53:37 +00:00
Peter Boyle
3eae9a9e3f
update NVCC flags
2019-01-01 13:49:15 +00:00
Peter Boyle
186aad065f
Roll forward Eigen in attempt to make CUDA happy
2019-01-01 13:48:32 +00:00
Peter Boyle
bf5685eb11
Update todo list
2019-01-01 13:48:06 +00:00
Peter Boyle
4a96c067ae
Remove warnings from NVCC
2019-01-01 13:43:09 +00:00
Peter Boyle
ab063f33c0
Offload the linear combinations in CG
2019-01-01 13:42:13 +00:00
Peter Boyle
9efcc535bc
Cleaner drop from CUDA mode around Eigen includes. Remains difficult to let Eigen compile under nvcc with version issues.
2019-01-01 13:39:10 +00:00
Peter Boyle
231b61d012
std::array by default
2019-01-01 13:37:35 +00:00
Peter Boyle
e898f4f0b0
Whitespace
2019-01-01 13:36:55 +00:00
Peter Boyle
d5db5f5242
Wrong dimension used in a temporary
2018-12-20 10:49:45 +00:00
Peter Boyle
2fcedb13dd
Step size modification in HMC; ICC happy thread pragmas
2018-12-20 09:32:33 +00:00
Peter Boyle
35ed1defac
Passes make check now single and double compile
2018-12-19 11:09:32 +00:00
Peter Boyle
4e95accf80
Namespace fix
2018-12-15 21:46:17 +00:00
Peter Boyle
422764757d
Updates in tests to make all of Grid compile
2018-12-14 16:55:54 +00:00
Peter Boyle
afc462bd58
Bracketing issue in macro
2018-12-13 10:53:22 +00:00
Peter Boyle
b57a4d32aa
Merge branch 'develop' into feature/gpu-port
2018-12-13 05:11:34 +00:00
Peter Boyle
33a0bbb17b
Const correctness
2018-11-19 11:27:57 +00:00
Peter Boyle
f3f24b3017
Optional Twisted BC's added, in "DoubleStore" for WilsonImpl.
...
Untested but doesn't affect answers when twists are all zero. The zero is the default behaviour
for ImplParams.
2018-11-08 12:55:25 +00:00
Peter Boyle
68c13045d6
Added a test for Felix and Michael to look at
2018-11-07 23:40:15 +00:00
Peter Boyle
e9b6f58fdc
Allow shrinking machine in orthog direction for extract slice local
2018-11-07 23:39:18 +00:00
Peter Boyle
839605c45c
Verbose reduce
2018-11-07 23:38:46 +00:00
Peter Boyle
2205b1e63e
Add CXX to grid-config
2018-11-07 13:32:46 +00:00
Peter Boyle
6f421c7a6f
Block solver in the SchurRedBlack plus timing report cleaner
2018-11-07 12:26:56 +00:00
Peter Boyle
b62b9ac214
Patch to broken assertion
2018-11-06 22:18:17 +00:00
Peter Boyle
8c3a599148
Block solver test
2018-11-06 16:44:58 +00:00
Peter Boyle
24c07694bc
Mixed precision now supported in MADWF
2018-10-14 00:22:52 +01:00
Peter Boyle
f0229025e2
MADWF working across a range of actions
2018-10-13 19:55:03 +01:00
Peter Boyle
6de9a45a09
NPR first cut by Julia Kettle
2018-10-12 11:00:58 +01:00
Peter Boyle
03c3d495a2
First cut (non functional NPR code) developed by Julia Kettle
2018-10-12 10:59:33 +01:00
Peter Boyle
49f25e08e8
PauliVillars based 4D -> 5D reconstruction with Fourier Accelerated PV inverse
...
by Christoph. Differs from the one by Rudy in BFM since it vectorises the twisted
4D solves in pairs.
2018-10-11 12:35:32 +01:00
paboyle
8bab544c2f
Updated manual pdf
2018-09-20 18:51:11 +01:00
paboyle
76fc06a5dc
Updates with todo from Carleton
2018-09-20 18:50:11 +01:00
Peter Boyle
adbdc4e65b
Half comms not working on GPU yet, so disable.
2018-09-11 05:15:22 +01:00
Peter Boyle
e4deea4b94
Weird bug appears with Vector<Vector<>>.
...
"fix" with std::vector<Vector<>>
Lies in the face table code. But think there is some latent problem.
Possibly in my allocator since it is caching, but could simplify or eliminate the caching
option and retest. One to look at later.
2018-09-11 04:36:57 +01:00
Peter Boyle
94d721a20b
Comments on further topology discovery work
2018-09-11 04:20:04 +01:00
Peter Boyle
7bf82f5b37
Offload the face handling to GPU
2018-09-10 11:28:42 +01:00
Peter Boyle
f02c7ea534
Peer to peer on GPU's setup
2018-09-10 11:26:20 +01:00
Peter Boyle
bc503b60e6
Offloadable gather code
2018-09-10 11:21:25 +01:00
Peter Boyle
704ca162c1
Offloadable compression
2018-09-10 11:20:50 +01:00