Skip to content

[Bug] tt.assert #306

@longRookie

Description

@longRookie

When I execute python test_vec_add.py, I notice an error with the following message:

triton_shared/include/triton-shared/Conversion/TritonArithToLinalg/ConversionPatterns.hpp:843: virtual llvm::LogicalResult {anonymous}::AssertConverter::matchAndRewrite(mlir::triton::AssertOp, mlir::OpConversionPattern<mlir::triton::AssertOp>::OpAdaptor, mlir::ConversionPatternRewriter&) const: Assertion `condVal && isa<mlir::IntegerType>(condVal.getType()) && "Only asserts on scalars are currently supported"' failed.

I observed that my TTIR contains tt.assertfor tensors.

    %13 = arith.cmpi sle, %12, %cst_0 : tensor<1024xi64> loc(#loc5)
    %14 = arith.cmpi sge, %12, %cst : tensor<1024xi64> loc(#loc5)
    %15 = arith.andi %13, %14 : tensor<1024xi1> loc(#loc5)
    tt.assert %15, "int32 overflow detected for operation add" : tensor<1024xi1> loc(#loc5)
    %16 = arith.addi %8, %7 : tensor<1024xi32> loc(#loc5)
    %17 = tt.splat %arg3 : i32 -> tensor<1024xi32> loc(#loc6)

When I commented out the assertin the TTIR and then executed the command line again, I was able to obtain ttshared.mlir. How can I avoid this issue from occurring?

 assert(condVal && isa<mlir::IntegerType>(condVal.getType()) &&
           "Only asserts on scalars are currently supported");

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions