[HCU][TLE] Support tle.exclusive_cumsum#791
Conversation
|
Hi, thanks for adding HCU support for I reproduced the NV CI failure locally: Before this change, the NV inline-PTX path was restricted to i32: auto intTy = dyn_cast<IntegerType>(val.getType());
if (!intTy || intTy.getWidth() != 32)
return Value();That guard was removed while adding the HCU branch. As a result, the non-HCU/NV branch now also emits the following integer operation for floating-point values: The generated f32 LLVM IR confirms this: tail call float asm "... @p add.s32 r0, r0, $1; ...",
"=r,r,r,r,r"(float %20, ...)This performs signed integer addition on IEEE-754 bit patterns and then interprets the result as a float, which explains the very large values and NaNs in NV CI. The integer cases pass because int8/int16 are promoted to i32; bf16 is promoted to f32 and fails for the same reason. A path-control experiment also isolates the issue: the same f32 kernel is correct with Could you please restore the Please also rerun: python -m pytest -s -vv \
python/test/tle/unit/test_tle_cumsum.py::test_tle_cumsum_exclusive_and_totalIt would also be helpful to extend the PTX regression coverage with a floating-point case so this type-domain regression cannot recur. Thank you! |
HCU backend support for
tle.exclusive_cumsumprimitive and TLE topk tutorial.Lowering path
tt.store(smem_ptr + offsets)into a buffer store op.Unit Test
Reduce num_warps to avoid triton.runtime.errors.OutOfResources: out of resource: threads, Required: 2048, Hardware limit: 1024.
Performance Data
Benchmark source:
python/tutorials/tle/03-topk.py.Environment:
Performance: