relax icon indicating copy to clipboard operation
relax copied to clipboard

Temp repo for prototyping relax(relay next), the effort will be upstreamed. We use the wiki pages on this repo to host design docs.

Results 72 relax issues
Sort by recently updated
recently updated
newest added

One of relax’s design goal is to enable dynamic shapes and program analysis based on dynamic StructInfos. The shape propagation helps us to build effective dynamic shape aware programs. Shape...

This PR fixes the issue noted in #288 in which the `BlockBuilder`'s `ExprMemo` can store entries between visits, which resulted in violating scoping rules when an expression was visited twice...

The idea of fuzzing Relax has been raised in some community meetings, so we may discuss how we might approach this problem and how a Relax fuzzer could be implemented....

[Rendered view.](https://github.com/slyubomirsky/relax/blob/spec-draft/relax_spec.md) This document is a draft language specification for Relax. The purpose of the language specification is to serve as a technical reference describing the language's behavior in sufficient...

The PyVisitor/Mutator are only used in the python side and as long as we have packed func registration we are fine. To minimize the public interface exposure, let us consider...

We already had several discussions around this. This post summarizes the action items: Background: we want to make sure most function remains "private", so they can be cleaned up (through...

architecture

This PR is an initial implementation of liveness analysis for Relax programs and is based on the [manifest_lifetimes pass in RelayVM](https://github.com/apache/tvm/blob/main/src/relay/backend/vm/manifest_lifetimes.cc). It should handle nested control-flow in the form of...

co-authored by: @jinhongyii This PR implements several high-priority relax operators: `dense`, `conv2d`, `max_pool2d`, `relu`, `softmax`, `flatten`. To support these new operators, `LowerWithRelayOpStrategy` pass has been extended to consider attribute. Caveat:...

Previously, when a Relay function contains a Call which directly uses Tuples as arguments (the example below), ``` %25 = (%23, %24) /* ty=(Tensor[(1, 160), float32], Tensor[(1, 160), float32]) */;...

This PR adds an initial implementation of liveness analysis of tensors/buffers for Relax and TIR programs. @areusch @mbaret @YuchenJin @mikepapadim