Open kostrzewa opened 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.
@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.