qcdcode / quda

QUDA is a library for performing calculations in lattice QCD on GPUs.
http://lattice.github.com/quda
Other
2 stars 0 forks source link

add scalar field class to QUDA to prepare for the FR-BSM operator #5

Open kostrzewa opened 3 years ago

kostrzewa commented 3 years ago

@Marcogarofalo @pittlerf @urbach @robfre21

I guess this is one of the things that we need to work on to provide a QUDA implementation of the BSM3 operator. The tests and sanity tests of the CPU version come first, however.

kostrzewa commented 3 years ago

I'm now proceeding with this by introducing GenMatrix, a matrix-valued data-type (basically a generalisation of ColorSpinor) with appropriate local and ghost accessors and utility functions. This type will be used in what I currently call a Misc field which will provide the necessary comms routines etc.. Probably I will rename this to gen_marix_field or something like that in the future.

I'm still not quite sure if this is the right way to go because it duplicates some code from ColorSpinor (Ns -> N, Nc -> M) but also removes some things which make no sense for a general matrix class. Similarly, there is some duplication of code from the GaugeField class, but neither ColorSpinor nor GaugeField can be used as-is to provide the functionality that we need.

The first kernel to test the functionality will be a scalar-field-only smearing kernel which we will hopefully be able to test directly against the one in tmLQCD.