Open
Conversation
…te ppb measurement routine
Removed the computeKSLinkO function and its implementation.
Member
maddyscientist
left a comment
There was a problem hiding this comment.
Thanks for the contribution. I have left some comments. I think we should get much of this moved to its own file, as these measurements are becoming unwieldy inlined in interface_quda.cpp.
Would a new file for fermion measurements be appropriate, and have the interface functions in interface_quda.cpp being thin wrappers work?
| void computeKSLinkQuda(void* fatlink, void* longlink, void* ulink, void* inlink, | ||
| double *path_coeff, QudaGaugeParam *param); | ||
|
|
||
| void set_act_path(double *act_path, int i); |
Member
There was a problem hiding this comment.
This doesn't look like an interface function, and if that's the case it shouldn't be in quda.h. It's also missing documentation.
| #else | ||
| void printQudaFermMeasurements(QudaFermMeasurements *param) | ||
| { | ||
| printfQuda("QUDA Gauge Smear Parameters:\n"); |
| } else { | ||
| // QUDA_ASQTAD_DSLASH | ||
| if (compute_fatlong) { | ||
| printfQuda("this is actually excecuted, nnaik is %d, eps is %1.5e\n",n_naiks,eps_naik); |
| const std::array<int, 4> &source_position, const std::array<int, n_mom * 4> &mom, | ||
| const std::array<QudaFFTSymmType, n_mom * 4> &fft_type) | ||
| { | ||
| printfQuda("part C\n"); |
| { | ||
| int faults = 0; | ||
|
|
||
| printfQuda("part B\n"); |
| GaugeField *cudaInLink = new GaugeField(gParam); | ||
|
|
||
| GaugeField *cudaInLink = new GaugeField(gParam); //called "U" | ||
| //GaugeField *v_link = new GaugeField(gParam); |
| gaugeObservables(gout, obs_param[measurement_n]); | ||
| logQuda(QUDA_SUMMARIZE, "flow_t = %le \n", smear_param->t0 + smear_param->epsilon * (i + 1)); | ||
| logQuda(QUDA_SUMMARIZE, "plaquette = %.16e \n", obs_param[measurement_n].plaquette[0]); | ||
| logQuda(QUDA_VERBOSE, "flow_t = %le \n", smear_param->t0 + smear_param->epsilon * (i + 1)); |
| algorithmHier(sf_list,gauge_stages,sub_gf_list,gin,gout,inv_param,smear_param,profileAdjGFlowHier,&ferm_m); | ||
| else { | ||
|
|
||
| printfQuda("begin initial measurement\n"); |
Member
There was a problem hiding this comment.
this should be guarded with a verbosity level (QUDA_VERBOSE minimum) or deleted
| if (current_size > n_save) errorQuda("something isnt right\n"); | ||
|
|
||
| int diff = n_save - current_size; | ||
|
|
| double b = -8.; | ||
|
|
||
| int comm_dim[4] = {}; | ||
| int comm_dim_f[4] = {}; |
Member
There was a problem hiding this comment.
why this unnecessary change?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Here I have reorganized the measurement scheme involved in adjoint flow of fermion fields. Measurements as a function of flow time have to be completed from scratch, and cannot be completed in an "intermediate" fashion as with normal flow, and this new reorganization accounts for that. I have also added functionality to calculate related observables, such as (for example) scalar condensates.