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

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions