Skip to content

ShflSegScanStepB write to an input-only operand #54

Description

@griffi-gh

In dev_approximate_gravity_warp.cu/dev_approximate_gravity_warp_new.cu, ShflSegScanStepB binds partial as an input-only operand "r"(partial)

but the asm both reads/writes to it:

"@p add.u32 %1, r0, %1;"
"mov.u32 %0, %1;}"
: "=r"(partial) : "r"(partial), "r"(up_offset), "r"(distance));

nvcc seems to tolerate it, but this is non-conforming code/UB.

this caused it to fail compilation under SCALE which is more strict about this sort of violation:
also see: spectral-compute/scale-validation#25

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions