-
Notifications
You must be signed in to change notification settings - Fork 0
/
MERGE_NOTES
315 lines (228 loc) · 10.3 KB
/
MERGE_NOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
Converter/archive_eolexi.c
Some differences only in the read functions. In the write functions,
everything should be 'covariant'. It is suboptimal that in the write functions,
MPI communications take actually double than the amount of data needed.
This is, though, the same that happens for SON.
Since this is not a critical region of the code, we have not changed that.
HMC/hmc.c
In the SPN version, 'fenv.h' was included (possibly for testing).
All changes will be discarded, except the insertions at lines 205-206.
HMC/hmc_forces.c
A Trivial lptinf change.
LLR_HB/llr_hb.c
This file was not present in the non-spn version.
LLR_HMC/llr_hmc.c
This file was not present in the non-spn version.
LibHR/Random/random_suNg.c
* The function 'random_suNg_unit_vector' is declared in Include/random.h,
but defined in LibHR/Random/random_suNg.c only in the SPN version.
Since it seems that it is not needed anywhere (even in the SPN version),
I will not add it to the 'trunk' version.
* the function random_suNg_epsilon is not present in the 'trunk'.
In the SPN version, is only used in the update_constrained function, which
is used in LLR stuff. Not added to it.
Added the other SPN-related changes, but removed the lines that were
commented out.
LibHR/Update/cabmar.c
* Copied as is from SPN version, then added 'static inline' modifier to wtos
function declaration.
LibHR/Update/random_momenta.c
* Conditional for the number of generators added. Function gaussian_scalar_momenta
is missing in SPN version.
LibHR/Update/representation.c
* In the SPN version, _group_represent2 is 'plugged' to _group_represent.
* The SPN version lacks some things the the trunk version has.
LibHR/Utils/TMPL/suN_exp.c.tmpl
* Copied as is from SPN version.
LibHR/Utils/det_suNg.c
* Copied as is from the SPN version.
LibHR/Utils/inv_suNg.c
* Copied as is from the SPN version.
LibHR/Utils/suN_utils.c
* Copied a large ifdef. The trunk version has modifications that the SPN version
has not.
Make/Utils/autosun/adjoint.h
* Copied as is from the SPN version.
Make/Utils/autosun/antisymmetric.h
* Copied as is from the SPN version.
Make/Utils/autosun/fundamental.h
* Copied as is from the SPN version.
Make/Utils/autosun/representation.h
* Copied as is from the SPN version.
Make/Utils/autosun/sun.h
* Copied as is from the SPN version.
Make/Utils/autosun/symmetric.h
* Copied as is from the SPN version.
RenormalizationFactors/measure_Z_mom.c
* Copied as is from the SPN version - only lprintf modifications.
Spectrum/measure_formfactor.c
* Copied as is from the SPN version - only lprintf modifications.
Spectrum/measure_spectrum.c
* Lots of work in the trunk version not present in the SPN version.
Added lprintf modification.
Spectrum/mk_mesons_with_z2semwall_new.c
* Copied as is from the SPN version - only lprintf modifications.
TestProgram/Deflate/check_deflate.c
* Copied as is from the SPN version - only lprintf modifications.
TestProgram/Propagator/check_propagator.c
* Copied as is from the SPN version - only lprintf modifications.
WilsonFlow/WF_measure.c
* Copied as is from the SPN version - only lprintf modifications.
WilsonFlow/WF_measure_adaptative.c
* Copied as is from the SPN version - only lprintf modifications.
##############################################################################
# SECOND ROUND #
# comparison between the current state of the code and the initial state of #
# the repo (just taken from the SVN repo) #
##############################################################################
Notes:
Changes are intended new minus old
./RenormalizationFactors/measure_Z_mom.c
2 lines added, #elif GAUGE_SPN and a lprintf.
./Include/global.h
For debug and testing, added a global var *suN_momenta_backup
./Include/complex.h
Added new macros for SPN
./Include/memory.h
Added some logic to differentiate between the SPN FUNDAMENTAL case and the
others, for clover fermions.
./Include/spinor_field.h
Declaring a new struct, suNffull_field.
./Include/update.h
Declared a update_ghmc_stripped function for testing.
./Include/utils.h
Only a blank line removed.
./Make/Utils/autosun/fundamental.h
Header guards added, an ifdef for the GAUGE_SPN case added.
'RET +=' changed to 'RET =' (is an empty string before this assignment).
./Make/Utils/autosun/polynomial.h
Header guards and proper includes added.
./Make/Utils/autosun/sparse.h
Header guards and proper includes added.
Added cerr.
./Make/Utils/autosun/sun.h
Header guards and proper includes added.
refactored init function, added overloaded version, #ifdefs for the gauge
group, replaced an ifdef for gauge group with a switch.
The SPN portion of the code in group::init has been added between the SON and
the SUN case.
Another exponential for the spn case has been implemented (luscher and taylor
methods).
This part of the code has been tested extensively.
./Make/Utils/autosun/matrix.h
Header guards and proper includes added.
New class - spmatrix - added, new method for class smatrix created.
./Make/Utils/autosun/complex.h
Header guards and proper includes added.
Removed CR where it was added.
./Make/Utils/autosun/adjoint.h
Header guards and proper includes added. some #ifdefs for the gauge group.
Use of spmatrix in lieu of cmatrix for the SPN case.
./Make/Utils/autosun/symmetric.h
Header guards and proper includes added. some #ifdefs for the gauge group.
Use of spmatrix in lieu of cmatrix for the SPN case. (as above)
./Make/Utils/autosun/representation.h
Header guards and proper includes added. some #ifdefs for the gauge group.
Proper includes also depend on the group of choice.
./Make/Utils/autosun/antisymmetric.h
Header guards and proper includes added. some #ifdefs for the gauge group.
Antisymmetric representation for SPN is constructed in a different way from
the symmetric one.
Use of spmatrix in lieu of cmatrix for the SPN case. (as above)
./Make/Utils/autosun/list.h
Header guards and proper includes added.
./Converter/archive_eolexi.c
Preprocessor directives for switching between SPN and SUN
./HMC/hmc_forces.c
Preprocessor directives for switching between SPN and SUN, affecting only lprintf.
./HMC/hmc.c
Preprocessor directives for switching between SPN and SUN, affecting only lprintf.
(as above).
./WilsonFlow/WF_measure.c
Preprocessor directives for switching between SPN and SUN, affecting only lprintf.
(as above, 2).
./WilsonFlow/WF_measure_adaptative.c
Preprocessor directives for switching between SPN and SUN, affecting only lprintf.
(as above, 3).
./LibHR/Memory/amalloc.c
Added a debug/printing function.
./LibHR/Memory/field_alloc.c
Declared memory-related functions for the new type suNffull_field, for SPN.
Wrapped in Macro logic.
./LibHR/Update/random_momenta.c
ngen depends now on the gauge group (defined as the ratio
sizeof(suNg_algebra_vector)/sizeof(double)).
./LibHR/Update/representation.c
For spn _group_represent2 is only a wrapper to _group_represent.
Wrapped in Macro logic.
./LibHR/Update/update_mt.c
Created function update_ghmc_stripped, which is like update_ghmc but without
initialization and metropolis tests.
./LibHR/Update/luscherweisz.c
A big amount of code originally commented out has been revived. Changes are
only in the revived, originally-commented out portion of the code.
./LibHR/Update/cabmar.c
Machinery for SPN added. Note: not all su2 subgroup in SPN are taken care of.
Note: in our version the random_su2 call on line 103 was commented out.
de-commented it.
./LibHR/Update/clover_tools.c
#ifdef for the SPN, FUNDAMENTAL case, to use suNffull matrix.
./LibHR/Utils/inv_suNg.c
#ifdef for the SPN, FUNDAMENTAL case, to use suNffull matrix.
./LibHR/Utils/det_suNg.c
#ifdef for the SPN, FUNDAMENTAL case, to use suNffull matrix.
./LibHR/Utils/suN_utils.c
#ifdef for the SPN, adapted the projection algorithm (modified
stabilized Gram-Schmidt)
./LibHR/Utils/HYP_smearing.c
Project_cooling_to_suNg is not suitable for spn. Modified preprocessor logic
to take care of this.
./LibHR/Utils/boundary_conditions.c
Added some #ifdefs
./LibHR/IO/logger.c
Some initializations to NULL added
./LibHR/IO/archive_su2quat.c
Added preprocessor directives to choose between SPN and SUN
./LibHR/Random/random_suNg.c
Added preprocessor directives to choose between SPN and SUN.
Implemented SPN case.
./Spectrum/measure_spectrum.c
Preprocessor directives for switching between SPN and SUN, affecting only lprintf.
./Spectrum/measure_formfactor.c
Preprocessor directives for switching between SPN and SUN, affecting only lprintf.
./Spectrum/mk_mesons_with_z2semwall_new.c
Preprocessor directives for switching between SPN and SUN, affecting only lprintf.
# TEST PROGRAMS (NOT CRUCIAL)
./TestProgram/Deflate/check_deflate.c
2 lines added, #elif GAUGE_SPN and a lprintf (as above).
./TestProgram/DiracOperator/check_diracoperator_1.c
Assertion added, commented a wrong function out, glat_even used in place of
glattice.
./TestProgram/Propagator/check_propagator.c
2 lines added, #elif GAUGE_SPN and a lprintf (as above).
./TestProgram/Update/check_update_1.c
A lot of changes. Now test works as intended.
No need to comment further since modification on this file have no
consequences elsewhere.
./TestProgram/Algebra/check_algebra_1.c
Added some print functions, modifications specific for the SPN case
No need to comment further since modification on this file have no
consequences elsewhere.
./TestProgram/Algebra/check_algebra_2.c
Added some assertions, a function, refactored macro.
No need to comment further since modification on this file have no
consequences elsewhere.
./TestProgram/PureGauge/check_puregauge_3.c
2 lines added, #elif GAUGE_SPN and a lprintf (as above).
No need to comment further since modification on this file have no
consequences elsewhere.
./TestProgram/PureGauge/check_puregauge_2.c
2 lines added, #elif GAUGE_SPN and a lprintf (as above),
#error added (test does not work for SPN).
No need to comment further since modification on this file have no
consequences elsewhere.
./TestProgram/PureGauge/check_puregauge_1.c
assertions and a error check function added.
2 lines added, #elif GAUGE_SPN and a lprintf (as above),
No need to comment further since modification on this file have no
consequences elsewhere.