tvm icon indicating copy to clipboard operation
tvm copied to clipboard

Open deep learning compiler stack for cpu, gpu and specialized accelerators

Results 636 tvm issues
Sort by recently updated
recently updated
newest added
trafficstars

Update the `relax.transform.EliminateCommonSubexpr` pass to handle `R.match_cast` bindings, where the argument of the `R.match_cast` has also been de-duplicated.

Prior to this commit, calling `FuseOpsByPattern` with `annotate_codegen=True` would cause an error when encountering a lambda function. This was caused by the `CompositeFunctionAnnotator` asserting that all `relax::Function` encountered must have...

In `BundleModelParams`, allow the user to specify a name for the tuple parameters. If unspecified, defaults to the previous name `"model_params"`.

This commit implements an optional optimization pass `relax.transform.ReorderPermuteDimsAfterConcat`, which reorder expressions of the form `R.concat(R.permute_dims(A), R.permute_dims(B))` into `R.permute_dims(R.concat(A,B))`. This pass is intended to be used alongside `CombineParallelMatmul`. After parallel matmuls...

Prior to this commit, `LiftTransformParams` would extract out all variable binding that have no runtime dependencies. As a result, expressions such as `R.zeros([16], "int32")` would be extracted out into the...

The `relax.transform.LiftTransformParams` pass splits apart a relax function, extracting the steps that could be performed at compile-time. Prior to this commit, the transformed parameters were named `param0`, `param1`, and so...

Expressions of the form `(A+B)*C < (A*B)*D` can occur occur when comparing the number of operations required for two different orderings in which matrix multiplications can be performed. Proving or...

Prior to this commit, when using `causal_mask="BottomRight"` in `R.nn.attention`, the legalization would assume that the query and key/value sequence lengths were static integers. This commit updates the legalization to allow...

This pattern occurs whenever `relax.op.linear` is used.

When determining whether to evaluate matrix multiplications as `(A*B)*C` or as `A*(B*C)`, dynamic shapes may occur (e.g. a dynamic LoRA rank). This commit tests for these cases, and improves the...