Commit Graph
100 Commits
Author SHA1 Message Date
paboyle c89a883448 where was deprecated and integrated to ET engine a long time ago. Remove dead old original code 2018-03-04 15:58:02 +00:00
paboyle c204288fbc Remove a couple of print statements 2018-03-04 15:57:15 +00:00
paboyle ad739f042a Introduce views for passing lattice indexing to accelerators. 2018-03-04 15:56:14 +00:00
paboyle db988301d0 Introduce view objects for indexing lattices. Used to pass the view to acccelerators 2018-03-04 15:55:16 +00:00
paboyle 9b1f29c4c2 Support a view for passing to accelerator 2018-03-04 15:54:35 +00:00
paboyle e5ea04ee0c Need to support precision change, and real replication in multiple simd lanes 2018-03-04 15:53:04 +00:00
paboyle c92a3c6068 Need to support any vector type template and run on accelerator 2018-03-04 15:52:14 +00:00
paboyle 03f8da8fbc enable-debug option for debug flags in compile 2018-03-04 15:51:47 +00:00
paboyle 78a9e31ff0 options more obvious 2018-02-24 22:26:32 +00:00
paboyle c1fc947bb8 Coordinate handling GPU friendly + some GPU merge/extract improvements 2018-02-24 22:26:10 +00:00
paboyle ff7b19a71b Coordinate handling GPU ready avoid malloc 2018-02-24 22:25:39 +00:00
paboyle 1c16ffa1c1 Coordinate GPU ready. No malloc 2018-02-24 22:25:09 +00:00
paboyle 4962f59477 Eliminate both GPU issue and threading bottle neck by avoiding malloc in coordinate handling 2018-02-24 22:24:37 +00:00
paboyle e158b60bce GPU friendly coords 2018-02-24 22:23:47 +00:00
paboyle 34820bec27 Coordinate handling GPU ready. No malloc 2018-02-24 22:23:18 +00:00
paboyle eed9aa9f0c Extract merge gpu ready 2018-02-24 22:23:01 +00:00
paboyle 8792ff6439 Coordinate handling gpu ready 2018-02-24 22:22:43 +00:00
paboyle 078901278c Coordinate handling gpu friendly 2018-02-24 22:22:02 +00:00
paboyle bf5fb89aff Coordinate handling GPU friendly 2018-02-24 22:21:36 +00:00
paboyle 7574c18cef Massive clean up extract merge.
Simpler and GPU friendly
2018-02-24 22:21:08 +00:00
paboyle 36ea5f6b77 gpu friendly coordinates ; no std::vector on GPU 2018-02-24 22:20:14 +00:00
paboyle 285deab432 Coordinate handling GPU friendly. Avoid std::vector 2018-02-24 22:19:28 +00:00
paboyle bb7d87d0a0 Coordinate handling gpu friendly 2018-02-24 22:18:33 +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
paboyle 79b50feacf fixme updates 2018-01-29 16:00:40 +00: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
paboyle 45df59720e Zero changes and VA_ARGS changes 2018-01-27 23:46:58 +00:00
paboyle 44ef5bc207 Zero changes (literally speaking). 2018-01-27 23:46:28 +00:00
paboyle 98af36217a Zero changes. (I mean literally) 2018-01-27 23:46:02 +00:00
paboyle be7b37b9c9 Mistake on openmp 2018-01-27 00:05:11 +00:00
paboyle c4f82e072b _grid becomes private ; use Grid()§ 2018-01-27 00:04:12 +00:00
paboyle 3f9654e397 Hiding internals 2018-01-26 23:09:03 +00:00
paboyle 912b50f6fa Hiding lattice internals 2018-01-26 23:08:45 +00:00
paboyle 2a4a0e43c1 Hide internals 2018-01-26 23:08:27 +00:00
paboyle 32523a229c Hide internals 2018-01-26 23:08:02 +00:00
paboyle 1ebd56c3fb Hide internal data 2018-01-26 23:07:34 +00:00
paboyle 8dccffdfd5 Hide internal data 2018-01-26 23:06:51 +00:00
paboyle 5642ea270f Hide internal data 2018-01-26 23:06:28 +00:00
paboyle 43cea62855 Hide internal data 2018-01-26 23:06:03 +00:00
paboyle 2b4067bb71 Hide internal data 2018-01-26 23:05:32 +00:00
paboyle 85771e97e9 Hide internal data 2018-01-26 23:04:46 +00:00
paboyle 8b371ffa94 Hide internal data 2018-01-26 23:03:54 +00:00
paboyle bf659dfd92 Hide the ._odata 2018-01-26 22:27:47 +00:00
paboyle 76a4dd36d9 Fix no compile of test serialisation 2018-01-26 00:13:21 +00:00
paboyle f4010023ca Warning fixes 2018-01-25 23:46:47 +00:00
paboyle 24a4589def Changes to interface a little 2018-01-25 23:37:34 +00:00
paboyle c904822e74 Warning removal 2018-01-25 23:37:15 +00:00
paboyle 40ee1e1957 Zero() 2018-01-25 23:36:58 +00:00
paboyle 461df78a3f Better to use Zero(), and not zero static data 2018-01-25 23:36:22 +00:00
paboyle db9c9475d4 const 2018-01-25 23:36:06 +00:00
paboyle 214f7a6f13 Drop std::vector container for the lattice data 2018-01-25 23:35:04 +00:00
paboyle c844cfcda8 Remove commAllocator; make more simple; option to switch off the pointer caceh 2018-01-25 23:33:57 +00:00
paboyle a3e3034e6f Host compile 2018-01-25 23:33:00 +00:00
paboyle e7cba358c2 Temporary update to reflect the new dropping of std::vector in Lattice
Will update again to hide the internals in an interface
2018-01-25 23:31:41 +00:00
paboyle 99329197ee Rename header to .h 2018-01-24 14:10:09 +00:00
paboyle 421401af55 Remove IMCI as really don't support 2018-01-24 13:53:21 +00:00
paboyle 0626c1e39e Accelerator flaggina dn thrust complex for NVCC 2018-01-24 13:50:41 +00:00
paboyle 725f03e2e2 Accelerator markup and thrust complex on nvcc 2018-01-24 13:50:10 +00:00
paboyle 65f77112e0 Thread loops done properly 2018-01-24 13:49:39 +00:00
paboyle 408b868475 Generic for GPU needs accelerator markup of functions 2018-01-24 13:49:12 +00:00
paboyle 1c797deb04 Accelerator tweaks 2018-01-24 13:43:43 +00:00
paboyle b9d5a42b57 Should be able to eliminate the COMMA_SAFE with VA_ARGS trick ; revisit this file 2018-01-24 13:42:06 +00:00
paboyle e737591918 Accelerator loops 2018-01-24 13:41:12 +00:00
paboyle ba5ea5830b Acceleartor loops 2018-01-24 13:40:56 +00:00
paboyle 43f244badf Thread loops for now; figure out what can be GPU accelerated later here 2018-01-24 13:40:30 +00:00
paboyle e9c8ba5ef7 Accelerator loosp 2018-01-24 13:39:54 +00:00
paboyle d70709a8e8 Thread construct changes 2018-01-24 13:39:06 +00:00
paboyle 733f8ff0b2 Still using parallel_for -- don't know how to implement reduction on GPU yet. Look at some sample code is best. 2018-01-24 13:38:13 +00:00
paboyle 0bfa5bb213 Accelerator loosp 2018-01-24 13:37:26 +00:00