Fermion-Observables (Feature #165)


Added by Christopher Pinke almost 8 years ago. Updated almost 7 years ago.


Status:In Progress Start date:22 Aug 2011
Priority:Normal Due date:
Assignee:Christopher Pinke % Done:

70%

Category:-
Target version:-

Description

The implementation of fermion-obs has to be revisited and improved.

At the moment, inverter.cpp inverts a gaugefield using a (fixed) pointsource and then calculates the ps-correlator.
It is printed to screen afterwards.

What would be good to have:

- more freedom with the source
- choose type (point, random, ...). this should be implemented in a lateron extentable fashion.
- pointsource: Set position via input-file
- observables:
- at the moment, the kernel is just a dummy one and it needs parallelization
- other correlators than ps need to be implemented
- output:
- output to file is desirable (output to screen could be handled as in heatbath (vial bool print_to_screen))


Related issues

related to CL2QCD - Feature #340: I/O of fermion fields New 23 Oct 2012
related to CL2QCD - Feature #346: Test Correlators with stochastic sources New 30 Oct 2012
blocked by CL2QCD - Feature #182: stochastic sources Done 12 Sep 2011
blocked by CL2QCD - Feature #341: Calculation of chiral condensate Done 23 Oct 2012 07 Dec 2012
blocked by CL2QCD - Feature #339: Observables I/O Done 23 Oct 2012

History

Updated by Christopher Pinke almost 8 years ago

Update after what we did last week:

- sources:
- point-source is very flexible now
- stochastic source environment ready (see issue #182)
- observables:
- parallel version for ps_correlator added, needs testing
Here, I hardcoded the loop over the number of sources, I dont know if that is true when using stochatic sources. Also, you already mentioned that one also needs the ps_correlator in the t-direction. I think it is best to introduce a new kernel for that and switch between them in the calling function on the host. Alternatively, one could build in a switch in the kernel itself, but then one would loose some speed I guess. What do you think?

- more observables to come
Before you implement these, perhaps we should first move to the parallel kernels?!?

- output:
- How should this be carried out? We need some buffers on the correlator_device to store the results. We could then introduce a sync-like function where we copy them to the host and store them in the file.

Updated by Christopher Pinke almost 8 years ago

We have a "problem": We have changed the ps_correlator kernel to get the spinorfield from the twelve results right. But the original inverter exec uses the same file and thus gets wrong results. I pushed a version of fermionobservables.cl where the newer code is commented out. so if as long as inverter_tmp is in fact tmp, one should put the line in by hand and be careful not to push the new version.

Updated by Lars Zeidlewicz almost 8 years ago

We now have the new version only. With commit 707c1c2a74 I have implemented the scalar correlator. That needs to be checked against some reference.

Updated by Christopher Pinke almost 8 years ago

At this point, almost all features are implemented.

What is not is

  • random source
  • perhaps saving the inverted fields is desireable.
  • Priority changed from High to Normal
  • Assignee changed from Lars Zeidlewicz to Christopher Pinke
  • % Done changed from 0 to 90
  • Status changed from New to In Progress

Updated by Christopher Pinke almost 7 years ago

  • % Done changed from 90 to 50

Updated by Christopher Pinke almost 7 years ago

#182 done

  • % Done changed from 50 to 70

Also available in: Atom PDF