Skip to content

Direct concrete index notation schedules breaks tensor serialization order #495

Open
@willow-ahrens

Description

@willow-ahrens

When specifying a schedule via direct concrete index notation, TACO assumes that the postorder traversal of tensors in the index expression will match the postorder traversal of tensors in the concrete index notation. This might be true if the concrete index notation is generated via TACO scheduling commands, but it is certainly not true if the concrete index notation is specified explicitly. The offending line in TACO is roughly

auto operands = getTensors(getAssignment().getRhs());
, the line in compute() which chooses a tensor ordering to pass to the compiled code, which expects the tensors in a different order.

A robust solution would be to sort the tensors by their name in both the compute() function and the compiled code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIndicates an unexpected problem or unintended behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions