Commit Graph
100 Commits
Author SHA1 Message Date
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