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.
When using the
split_gridwith the Wilson Clover operator andQUDA_CLOVER_RECONSTRUCT=ON, splitting the Clover field leads to an error:I was able to track down where it appears. In the instantiation of the order class of the collected clover field for the
split_gridin 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.