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
In
dev_approximate_gravity_warp.cu/dev_approximate_gravity_warp_new.cu,ShflSegScanStepBbindspartialas an input-only operand"r"(partial)but the asm both reads/writes to it:
nvccseems 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