Commit Graph
82 Commits
Author SHA1 Message Date
paboyle 9e6a4a4737 Assertion updates to macros (mostly) with backtrace.
WIlson flow to include options for DBW2, Iwasaki, Symanzik.
View logging for data assurance
2025-08-07 15:48:38 +00:00
Peter Boyle baac1127d0 Later intel compiler happiness 2024-07-25 18:06:05 +00:00
Peter Boyle ff2ea5de18 Update Tensor_traits.h 2024-04-11 14:25:45 -04:00
paboyle 10116b3be8 Force device copyable and tell SYCL to shut it. 2024-03-06 01:13:27 +00:00
Peter Boyle e936f5b80b IfGridTensor shorthand 2023-10-13 18:21:56 +03:00
Peter Boyle c5f1420dea Merge remote-tracking branch 'LupoA/develop' into LupoA-develop 2023-10-02 16:22:35 -04:00
Peter Boyle 018e6da872 Merge pull request #440 from giltirn/feature/paddedcellgauge
Feature/paddedcellgauge
2023-10-02 10:00:42 -04:00
Peter Boyle 3d437c5cc4 Making SYCL happy 2023-09-26 13:19:42 -07:00
Peter Boyle 0e2141442a Dennis says broken 2023-06-22 19:19:51 +03:00
Christopher Kelly 4241c7d4a3 Imported coalescedReadGeneralPermute GPU implementation from Christoph
Fixed bug in padded staple code where extract was being called on the result before the GPU view was closed
Fixed compile issue with pointer cast in padded staple code
Added timing summaries of padded staple code and timing breakdown of staple implementation to Test_padded_cell_staple
2023-06-21 16:01:01 -04:00
Christopher Kelly abc658dca5 Added coalescedReadGeneralPermute CPU implementation based on Christoph's GPT code
In a test code, implemented a padded-cell version of the staple and rectangular-staple calculation
2023-06-20 16:14:25 -04:00
Alessandro Lupo e09dfbf1c2 definetely the right merge upstream/develop 2023-06-16 14:19:46 +01:00
Alessandro Lupo 9b85bf9402 better projection test 2023-05-02 15:42:20 +01:00
Alessandro Lupo 86b02c3cd8 cleaning up requested by Julian 2023-05-02 13:31:17 +01:00
Alessandro Lupo 7b3b7093fa cleaning up requested by Ed 2023-05-02 12:50:57 +01:00
Alessandro Lupo 881b08a465 Correct implementation of SpTa 2023-04-27 18:17:06 +01:00
Alessandro Lupo dace904c10 fix typo 2023-04-14 18:06:18 +01:00
portelli 9e64387933 mores unused statements removed 2023-04-07 14:27:18 +01:00
portelli 983b681d46 unused statement cleaning 2023-04-07 14:12:02 +01:00
Alessandro Lupo 778291230a expand ProjecOnGaugeGroup, change ProjectOnSp2nAlgebra into SpTa, fixing some of its issues 2023-04-04 17:48:13 +01:00
Alessandro Lupo 026e736dfa Projection on algebra can now be templated. Fix #12 2023-04-03 16:31:19 +01:00
Alessandro Lupo cbc053c3db Revert "projection on Sp2n algebra, to be used instead of Ta"
This reverts commit ba7f9d7b70.
2023-03-17 11:36:58 +00:00
Alessandro Lupo ba7f9d7b70 projection on Sp2n algebra, to be used instead of Ta 2023-03-15 15:55:12 +00:00
Christopher Kelly 1db58a8acc Precision change improvements
Added a new, much faster implementation of precision change that uses (optionally) a precomputed workspace containing pointer offsets that is device resident, such that all lattice copying occurs only on the device and no host<->device transfer is required, other than the pointer table. It also avoids the need to unpack and repack the fields using explicit lane copying. When this new precisionChange is called without a workspace, one will be computed on-the-fly; however it is still considerably faster than the original implementation.

In the special case of using double2 and when the Grids are the same, calls to the new precisionChange will automatically use precisionChangeFast, such that there is a single API call for all precision changes.

Reliable update and mixed-prec multishift have been modified to precompute precision change workspaces

Renamed the original precisionChange as precisionChangeOrig

Fixed incorrect pointer offset bug in copyLane

Added a test and a benchmark for precisionChange

Added a test for reliable update CG
2023-02-21 10:52:42 -05:00
Peter Boyle 3dbfce5223 Tests clean build on HIP 2022-11-16 20:15:51 -05:00
Peter Boyle 7d302a525d Natural place for this routine is here 2022-11-15 16:24:55 -05:00
Peter Boyle 132d841b05 Compile fix 2022-11-02 19:33:22 -04:00
Peter Boyle 204c283e16 Merge branch 'feature/dirichlet' of https://github.com/paboyle/Grid into feature/dirichlet 2022-10-11 14:59:07 -04:00
Peter Boyle 551a5f8dc8 RRII gpu option 2022-10-11 14:44:55 -04:00
Peter Boyle 234324599e Double2 2022-09-27 10:56:10 -04:00
Christopher Kelly 33e4a0caee Imported changes from feature/gparity_HMC branch:
Rework of WilsonFlow class
		Fixed logic error in smear method where the step index was initialized to 1 rather than 0, resulting in the logged output value of tau being too large by epsilon
		Previously smear_adaptive would maintain the current value of tau as a class member variable whereas smear would compute it separately; now both methods maintain the current value internally and it is updated by the evolve_step routines. Both evolve methods are now const.
		smear_adaptive now also maintains the current value of epsilon internally, allowing it to be a const method and also allowing the same class instance to be reused without needing to be reset
		Replaced the fixed evaluation of the plaquette energy density and plaquette topological charge during the smearing with a highly flexible general strategy where the user can add arbitrary measurements as functional objects that are evaluated at an arbitrary frequency
	        By default the same plaquette-based measurements are performed, but additional example functions are provided where the smearing is performed with different choices of measurement that are returned as an array for further processing
		Added a method to compute the energy density using the Cloverleaf approach which has smaller discretization errors
	Added a new tensor utility operation, copyLane, which allows for the copying of a single SIMD lane between two instances of the same tensor type but potentially different precisions
	To LocalCoherenceLanczos, added the option to compute the high/low eval of the fine operator on every restart to aid in tuning the Chebyshev
	Added Test_field_array_io which demonstrates and tests a single-file write of an arbitrary array of fields
	Added Test_evec_compression which generates evecs using Lanczos and attempts to compress them using the local coherence technique
	Added Test_compressed_lanczos_gparity which demonstrates the local coherence Lanczos for G-parity BCs
	Added HMC main programs for the 40ID and 48ID G-parity lattices
2022-07-01 14:12:12 -04:00
Peter Boyle 5340e50427 HMC running with new formulation 2022-03-01 17:10:25 -05:00
Peter Boyle a4ce6e42c7 Warning free compile on make all and make tests under nvcc 2021-10-27 00:27:03 +01:00
Alessandro Lupo 4044536eea add projection on sp2n algebra 2021-10-26 10:20:44 +01:00
Alessandro Lupo 4d8ae6221c fix projection 2021-10-22 10:44:54 +01:00
Alessandro Lupo 283f14b7c1 fix sp2n projection 2021-10-12 16:00:32 +01:00
Alessandro Lupo 7e3b298d3d project on sp2n 2021-10-12 16:00:32 +01:00
Peter Boyle af98525766 Merge pull request #359 from paboyle/feature/serialisation-update
Feature/serialisation update
2021-09-16 10:24:52 -04:00
Peter Boyle 4c5440fb06 const happy for sycl 2021-06-15 21:45:07 +00:00
Michael Marshall 76af169f05 Add global namespace to Writer<T> and Reader<T> inside GRID_SERIALIZABLE_CLASS_MEMBERS (so that "using Grid" not necessary).
Fix issue with output of Grid::iMatrix so that M<3>{{148,149,150,} {151,152,153,} {154155156}} becomes M<3>{{148,149,150} {151,152,153} {154,155,156}}
2021-05-31 08:43:02 +01:00
u61464 15ae317858 Merge branch 'develop' of https://github.com/paboyle/Grid into develop 2021-05-04 08:40:38 -07:00
u61464 834f536b5f Fastest option on SyCL is now std::complex 2021-05-04 08:40:18 -07:00
Peter Boyle e947992957 Improved force terms 2021-03-29 20:04:06 +02:00
Peter Boyle a76cb005e0 Update Tensor_exp.h 2021-03-08 13:37:57 -05:00
u61464 679d1d22f7 Sycl happier 2021-03-03 11:21:43 -08:00
Peter Boyle f9b1f240f6 Better SIMD usage/coalescence 2021-02-26 17:51:41 +01:00
Peter Boyle 99445673f6 Gparity fix, and plaquette IO 2021-01-14 21:00:36 -05:00
Peter Boyle 5adae5d6ff Unused variable remove 2020-11-19 19:22:12 +01:00
Peter Boyle cc9c993f74 Project on group fix on GPU tracked to reciprocal sqrt collision between CUDA and Grid rsqrt 2020-10-31 18:12:47 -04:00
Peter Boyle 6c31b99f1f I knew coupling Eigen Tensor to Grid serialisation was a bad iddea.
Now the complex is different on GPU creates probblems
2020-08-31 23:49:19 -04:00