Commit Graph
100 Commits
Author SHA1 Message Date
Peter Boyle fa9cd50c5b Merge branch 'develop' into feature/gpu-port 2019-07-16 11:55:17 +01:00
Peter Boyle 7c11525d1a Local stencil for complex wilson loops etc 2019-07-14 14:05:09 +01:00
Peter Boyle 42c1dbb1d1 General local stencil first cut for Patrick force term 2019-07-14 14:04:28 +01:00
Peter Boyle 6179acfda0 Put back a call that was required 2019-07-14 13:59:54 +01:00
Peter Boyle 07601ac1f5 Replace instantiation of Gparity 2019-07-12 17:18:12 +01:00
Peter Boyle 705a8098b2 Merge branch 'feature/gpu-port' of https://github.com/paboyle/Grid into feature/gpu-port
Conflicts:
	Grid/stencil/Stencil.h
2019-07-12 17:14:11 +01:00
Peter Boyle a29b43d755 Stencil comms cleaner 2019-07-12 17:12:25 +01:00
Peter Boyle 368c8369ce Merge branch 'feature/gpu-port' of https://github.com/paboyle/Grid into feature/gpu-port 2019-07-12 17:11:29 +01:00
Peter Boyle c0d89a2dbb TODO updates 2019-07-12 17:11:15 +01:00
Peter Boyle 78ebd93281 Cuda 9.1 happy 2019-07-12 17:11:00 +01:00
Peter Boyle 3d58daf70f Safety check 2019-07-12 17:10:35 +01:00
Peter Boyle bd155ca5c0 Overlap comms with comput now supported 2019-07-12 09:09:40 +01:00
Peter Boyle 91e2cf9b40 All axes can be used for comms now 2019-07-12 09:08:26 +01:00
Peter Boyle 3cc9947731 Better welcome printing 2019-07-12 06:47:51 +01:00
Peter Boyle f15eeb0283 localise scope of variables declared in macro 2019-07-12 06:47:01 +01:00
Peter Boyle 0996ba9396 Pretty messaging 2019-07-12 06:45:31 +01:00
Peter Boyle 966a203dcb Interactions with GPU compilation 2019-07-11 03:16:17 +01:00
Peter Boyle 44170cc15f Initialise CUDA device prior to entering MPI.
This may or may not interact with Summit which configures MPI - CUDA mapping with jsrun.
TBD
Cases of OpenMPI and MVAPICH are covered, and default to cudaSetDevice(0) otherwise
2019-07-11 03:14:23 +01:00
Peter Boyle 6e3c3214a3 Offload loops 2019-07-02 17:25:40 +01:00
Peter Boyle d6ffadb33b Coalesced write 2019-07-02 17:25:13 +01:00
Peter Boyle 4c3225412b Drop 5dVEC 2019-07-01 07:31:26 +01:00
Peter Boyle b8f7bfbb26 Dont stream as poor perf in some cases 2019-07-01 07:30:25 +01:00
Peter Boyle 7b7c470917 Accelerator loop 2019-07-01 07:29:51 +01:00
Peter Boyle 532e226b22 cuda 9.1 fixes 2019-07-01 07:29:22 +01:00
Peter Boyle 6a13731818 Move GPU cuda call earlier 2019-07-01 07:28:41 +01:00
Peter Boyle 1cd4ee0706 Thrust used on GPU builds 2019-06-18 12:50:35 +01:00
Peter Boyle b8f71b6777 Fix NVCC warning unused variable 2019-06-17 13:58:45 +01:00
Peter Boyle 703dc20377 Compile tests fix 2019-06-16 13:59:29 +01:00
Peter Boyle d976e5c514 Pow is being awkward in thrust for reasons I don't understand. Possible thrust bug. 2019-06-16 12:05:11 +01:00
Peter Boyle d7b3efe893 Compile fix 2019-06-15 17:03:15 +01:00
Peter Boyle f710d7bd45 TODO list update 2019-06-15 12:54:27 +01:00
Peter Boyle cb336aa8f8 Thread loop constructs changing a little 2019-06-15 12:54:11 +01:00
Peter Boyle 462900b48d Modified entire test directory to suit new GPU constructs for looping 2019-06-15 12:53:27 +01:00
Peter Boyle 0561c2edeb Benchmarks modified for new GPU constructs 2019-06-15 12:52:56 +01:00
Peter Boyle 0184719216 Change to predicate type 2019-06-15 12:52:26 +01:00
Peter Boyle 24202dbc51 Thread loop construct change 2019-06-15 12:52:07 +01:00
Peter Boyle d763c303c5 Clean acceleerator barrier 2019-06-15 12:51:45 +01:00
Peter Boyle 8e394d3bf9 New loop construct 2019-06-15 12:51:15 +01:00
Peter Boyle b881d5489b Move SchurDiagTwoKappa to Algorithms 2019-06-15 12:50:45 +01:00
Peter Boyle 82306913a8 Move Schur operator into correct place 2019-06-15 12:49:22 +01:00
Peter Boyle 49f90cc7eb use pragma once 2019-06-15 12:45:22 +01:00
Peter Boyle b77af0210b Thread loop. Probably deprecate this impl 2019-06-15 12:44:56 +01:00
Peter Boyle 5254ede2d8 New loops. Revisit as accelerator loop in future audit 2019-06-15 12:44:29 +01:00
Peter Boyle 16e5d7945e Hard to make 5D vec work with GPU code 2019-06-15 12:43:43 +01:00
Peter Boyle decc99ca76 Accelerator version 2019-06-15 12:43:00 +01:00
Peter Boyle 464cd65931 Still to test this fully 2019-06-15 12:35:14 +01:00
Peter Boyle a1ec2f4723 Still to test this routine fully 2019-06-15 12:33:55 +01:00
Peter Boyle ea9662ec85 Thread loop changes 2019-06-15 09:09:57 +01:00
Peter Boyle 52c74f1cac Thread loop changes 2019-06-15 09:08:16 +01:00
Peter Boyle 9a13d2992c lean up 2019-06-15 09:05:16 +01:00
Peter Boyle b0449ae270 Thread loop changes 2019-06-15 09:04:19 +01:00
Peter Boyle 1299225105 Accelerator loop changes 2019-06-15 09:03:46 +01:00
Peter Boyle 5925e7f405 Thread for changes 2019-06-15 09:01:30 +01:00
Peter Boyle be1fd4930f Template instantiation make happy changes 2019-06-15 08:37:34 +01:00
Peter Boyle 377fa5dec1 looping construct 2019-06-15 08:36:48 +01:00
Peter Boyle e8b78f596e Looping construct changes 2019-06-15 08:35:57 +01:00
Peter Boyle 09720c40cd Coalesced loops 2019-06-15 08:35:26 +01:00
Peter Boyle bb024dd114 Loop construct changed 2019-06-15 08:30:05 +01:00
Peter Boyle 52456b9ec7 New loop construct 2019-06-15 08:28:45 +01:00
Peter Boyle b285138be4 Better checking on types 2019-06-15 08:27:48 +01:00
Peter Boyle c7dbf4c87e Scalar support for GPU threads 2019-06-15 08:25:43 +01:00
Peter Boyle 1e889c93b8 Insert a GPU synchronise 2019-06-15 08:23:26 +01:00
Peter Boyle 7379047482 Threading and acceleration primitives further changes. accelerator_barrier() needed and used 2019-06-15 08:22:48 +01:00
Peter Boyle d836ce3b78 Clean up of acceleration and threading primitives 2019-06-15 08:14:21 +01:00
Peter Boyle cefaacbc07 Changing accelerator loop. Still have work to do for multi-GPU code 2019-06-15 08:10:24 +01:00
Peter Boyle 0074ef7f69 thread loops 2019-06-15 08:04:29 +01:00
Peter Boyle 20359ca15f Coalesced loops. 2019-06-15 08:03:57 +01:00
Peter Boyle 736358b0cb Coalesced loops 2019-06-15 08:03:13 +01:00
Peter Boyle 6b692aa726 Thread loops 2019-06-15 08:02:26 +01:00
Peter Boyle 7f99e1cd3b Coalesced loops 2019-06-15 08:01:39 +01:00
Peter Boyle f3c89df948 Thread loop changes 2019-06-15 08:00:37 +01:00
Peter Boyle b7e6d111d7 Thread loop changes. Need to offload this file 2019-06-15 07:59:10 +01:00
Peter Boyle f39cf69c33 Accelerator loop change 2019-06-15 07:58:23 +01:00
Peter Boyle 8e27338df2 Rationalise number of loop macros 2019-06-15 07:57:40 +01:00
Peter Boyle bcbb5e9d26 Remove assembly tests 2019-06-15 07:57:05 +01:00
Peter Boyle 0ea7f5279d Accelerator loop changes 2019-06-15 07:56:14 +01:00
Peter Boyle 18e5de426d There is a stray use of predicatedWhere introduced by Andrew Lawson in the conserve currents.
The conserved currents need rewritten using data parallel operations.
2019-06-15 07:53:58 +01:00
Peter Boyle e896d81235 Accelerator loop redefine. Coalesce most accesses, but ET engine still to go clean. 2019-06-15 07:52:44 +01:00
Peter Boyle 7b8ccff4f4 Accelerated coalesced loops in most cases 2019-06-15 07:48:00 +01:00
Peter Boyle 68541606ab Thread loop changes. Soon try these with accelerator loops and benchmark 2019-06-15 07:46:42 +01:00
Peter Boyle 339ea10cc7 First touch only on CPU code 2019-06-15 07:45:43 +01:00
Peter Boyle d0d8dc8042 Thread loop changes 2019-06-15 07:45:09 +01:00
Peter Boyle 81eb1fd9f2 Accelerator loop changes for coalesced access 2019-06-15 07:44:47 +01:00
Peter Boyle cb93d32cd9 Thread loop changes 2019-06-15 07:44:08 +01:00
Peter Boyle 8f223962ff Thread loop changed 2019-06-15 07:43:42 +01:00
Peter Boyle 36f06555a2 Simplify Impl 2019-06-09 22:26:27 +01:00
Peter Boyle d6c0e0756d Remove GPU version 2019-06-09 11:23:42 +01:00
Peter Boyle 3e41b1055c Remove Gpu only kernels. 2019-06-09 11:20:01 +01:00
Peter Boyle 9fbcfe612c Update TODO list 2019-06-09 11:19:38 +01:00
Peter Boyle e78a5e7838 ASM instantiation without link errors 2019-06-09 01:25:21 +01:00
Peter Boyle da8d87e9da Cuda switch off 2019-06-08 17:11:38 +01:00
Peter Boyle 8e3a05d89b Moving the instantiation into a cleaner structure 2019-06-08 13:48:33 +01:00
Peter Boyle 8adc5da7dd Testig out approaches to kernel writing introducing SIMT_loop temporarily 2019-06-08 13:47:04 +01:00
Peter Boyle 29a244e423 Test of using a lane variable instead of repeated reference to threadIdx.y 2019-06-08 13:46:26 +01:00
Peter Boyle 18cbfecf02 Use symlinks in find command 2019-06-08 13:45:46 +01:00
Peter Boyle c933ac2248 Temporarily introduce a SIMT_loop to test out approaches prior to making a global change to
accelerator_loop
2019-06-08 13:44:27 +01:00
Peter Boyle ad2c433574 Instantiations move. Tried using Gianluca's suggestion about avoiding threadIdx but doesn't
seem to make a difference. Will revisit this and probably remove the lane parameter from the coalescedRead
2019-06-08 13:43:12 +01:00
Peter Boyle 86e7fb6e86 Instantiation relocation 2019-06-08 13:42:46 +01:00
Peter Boyle fb91dda7be Hand instantiation moved location 2019-06-08 13:42:26 +01:00
Peter Boyle 82cf7bc5ab Move instantiation into fermion/instantiation 2019-06-08 13:41:46 +01:00