Skip to content

split_grid broken with Wilson Clover when QUDA_CLOVER_RECONSTRUCT=ON #1598

@chaoos

Description

@chaoos

When using the split_grid with the Wilson Clover operator and QUDA_CLOVER_RECONSTRUCT=ON, splitting the Clover field leads to an error:

QUDA (rank=0): ERROR: 0x556253f17210 diagonal appears unset (rank 0, host geno, clover_field_order.h:646 in quda::clover::FloatNOrder<Float, length, N, add_rho, enable_reconstruct_, huge_alloc>::FloatNOrder(const quda::CloverField&, bool, Float*) [with Float = double; int length = 72; int N = 2; bool add_rho = false; bool enable_reconstruct_ = true; bool huge_alloc = false]())
QUDA (rank=0):        last kernel called was (name=cudaMemcpyDefault,volume=bytes=37158912,aux=copy_from_buffer,clover_field.cpp,343)

I was able to track down where it appears. In the instantiation of the order class of the collected clover field for the split_grid in https://github.com/lattice/quda/blob/develop/lib/copy_clover_offset.cu#L19C1-L19C38. The reason is that at that point the collected clover field (out) is not initialized with values yet, thus the diagonals are indeed zero.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions