Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/llvm/torch-mlir
The Torch-MLIR project aims to provide first class support from the PyTorch ecosystem to the MLIR ecosystem.
https://github.com/llvm/torch-mlir
This results in cleaner IR. In particular, Mlp2LayerModule e2e test has
a dim op that is elimina...
This op is much better behaved than the `torch.tensor.literal` op
(which is the new name of the ...
This removes the dependence of the `torch` dialect on the low-level
builtin types.
Now the `torc...
This replaces the ad-hoc use of `i64` throughout the Torch layer, and
helps to keep it crystal c...
This removes the use of `scf.if`, which required laundering back and
forth between `i1` and `!to...
This fixes a "regression" on ResNet where we weren't folding away all
the control flow. For now,...
This finishes removing the dependence on the basicpy dialect!
Changes:
- Add `!torch.bool` type...
7b7c9c5d3df0b82000d656f7e180950706fc5487 authored over 3 years ago
- This removes reliance on basicpy.numeric_constant.
- Also, add OpAsmOpInterface to the `torch....
- Remove dependence on `!basicpy.BytesType`.
- Add `torch.constant.str "s"` analogous to `torch....
This also restructures the docs to a "roadmap" directory, to preserve
previous roadmaps / allow ...
This further eliminates the need for the `basicpy` dependency.
This required adding `torch.prim...
92ee0fa98f7370c6f593627c10f94ec2971e301b authored over 3 years agoea1dd1cd906dd98f5404d690158a93faa0d06c15 authored over 3 years ago
- Make consistent with MLIR Core
- Use `//` or `///` comments.
- Use `bool` type for boolean...
- Add `torch.constant.none` op to construct it (naming is chosen to be
analogous to Torch's re...
6b293b695d11415053cc8a0869208d9f2fa80521 authored over 3 years ago
81bcd7fb12d82e8a8fcc3f670e598692e26e5ce5 authored over 3 years ago
Changes:
- MLIR_BINDINGS_PYTHON_ENABLED -> MLIR_ENABLE_BINDINGS_PYTHON
- canonicalizer constant ...
e0ff5248fbf61e27f885d3385961bb7c45324cf7 authored over 3 years ago
This removes our reliance on the numpy dialect and avoids our off-label
use of the builtin tneso...
This is enough to import the program and get it through the compilation
pipeline. It of course f...
It wasn't printing notes or putting the "error:" in front.
d50ea8d31e7b641dccf090bc8e5b62c7680b8126 authored over 3 years agoThis now gives [much nicer output](https://gist.github.com/silvasean/f048e0f37b04542dae6469b8680...
b7b7fd4959e1834274206d4c2666ebd87165bc85 authored over 3 years ago
This code was not exception safe -- it would leave an operation
unattached to anything, which br...
2453805f7f1096e8cb91536e9fe13dca23c36058 authored over 3 years ago
This is a really major and invasive restructuring of the way we get
torch operators (`torch::jit...
01baa39781e840e7f5c93cc3a3ecad2a21a58592 authored over 3 years ago
099bb7e29b50633c6d80278195255055e6aedf7b authored over 3 years ago
Changes:
- representation of arg attributes on functions changed
This allows the canonicalizer to coalesce it like other constants.
133bdf4b31ff74a202c14be5ae6c2892c92e4f9c authored over 3 years agoThis op has complex aliasing semantics, so it is kept mutable for now.
With this, we reduce Res...
3d08c83580d6589715c450d2e289c8c8846da3cd authored over 3 years ago
Interestingly, TorchScript has its own op (`torch::jit::Operator`)
registry separate from the di...
This trait lets us model the semantics of various aten/torch/numpy ops
that are insensitive to t...
The pipeline is subsumed by our lowering pipelines.
fb5f149e044710b8689df4c0e5ad3c6aa0c1f5f4 authored over 3 years ago
Also add some canonicalizations that finally reduce ResNet down to a
single block.
This is the start of a push to getting ResNet running.
This involves throwing in the towel on a...
7eb36b4ae7bc3b56f12abd07772b748fe55d1b7a authored over 3 years agoIt was confusing now that we have `convert-aten-to-std`.
1c832604d222208bd64396f6da60e3566c767b12 authored over 3 years ago- aten::relu_, aten::max_pool2d, aten::adaptive_avg_pool2d, aten::batch_norm, aten::conv2d
No a...
ec6d06aa86e328633f51192921c794ba72569582 authored over 3 years ago
This removes the need for defining all of the custom propagation logic,
and also adds support fo...
- Rename FrozenRewritePatternList -> FrozenRewritePatternSet
642482429c6923f57064bc8695e670561e49f978 authored over 3 years agob1c49ae6484f9fe704e7c1dbd55b49d9728a9924 authored over 3 years ago
These tests pass on the reference backend.
- Add aten.linear op + shape xfer function + ATen->L...
179105ca3e7c40d81dbc6ecd8359897474147cca authored over 3 years ago
This inlines global slots if possible. This allows them to participate
in folding, canonicalizat...
Also,
- improve error reporting of e2e framework.
- Move frontend lowering pipelines to c++ (this helps with reproducing
failures in npcomp-opt)...
390d39a96cce49277d80a255c9e078453fb8f1f8 authored over 3 years ago
- add_mlir_doc arg order
- fix some dependent dialects on passes that were now causing errors
- ...
This file needs to adopt best practices for how to structure python
"main"'s, but I don't know h...
This pass verifies that a given module satisfies the contract that we
have for backends. This is...
As described in the code comment:
```
When we import TorchScript IR, we import their entire "co...
The E2E tests can be run with
```
npcpy frontends/pytorch/e2e_testing/torchscript/main.py
```
T...
39d50ccf0de8823c1aea57c14d07043d7d67abeb authored almost 4 years agoThis is our first op with error semantics, and stresses the system.
There are a few design note...
f5dfa0252384474119fb7f2840e5cd432687f9eb authored almost 4 years ago
Recommended review order:
- Changes in frontends/pytorch/examples/
- Changes in python/npcomp/co...
f9d9518f6e85637eff72dddbe518c7176be3f3b8 authored almost 4 years ago
This pass allows shape information to be propagated to return types,
which is nontrivial and can...
This revamps the TORCH_TO_TCF_PASSES to reflect the new layering that we
are doing in the compil...
Currently implemented as a simple intraprocedural dataflow analysis over
a standard ShapedType l...
- ModuleOp no longer has a terminator.
464feacba9b01882bb32093034c749814f9728e2 authored almost 4 years ago
This pass incorporates torch.type_bound info and also removes NoneType
returns (eventually it wi...
The current implementation is just sufficient to do a unary aten.tanh
from the e2e spike, and ju...
3f9760dc33f0f1d8b16dc1f7beb2dfb91e08681f authored almost 4 years ago
This is more consistent and intuitive -- usually the object being
"indexed" or used as a "contex...
These allow users to annotate a known "type bound" on the argument,
which can seed shape/dtype i...
7a4043b7c4708e7a980e58a66b5550dd237d17f6 authored almost 4 years ago
c6d56fed8a91cc927b2a7ae48218c8f6e013933f authored almost 4 years ago
b0ac04001db4aef4d8e6b96d2b720fae6b02d03c authored almost 4 years ago
641098be5430c04e5ceb71f373c126d68a1f5869 authored almost 4 years ago
- renames of OwningRewritePatternList -> RewritePatternSet
- also `insert` to `add`
- RewriteP...
* Adds f32 scalar argument support across the ABI boundary.
* Adds support for passing input typ...
We already had the `promoteTrailingOutTensor` flag, but weren't using
it. A inplaceVariantKernel...
a53ed850bd74e4ebf5be3f2c1fc66ea62de70401 authored almost 4 years ago
This reverts commit e7b96ebefc2ca364428e169daffeaa3804236ec7.
19b9398aee6fb32b2b0dabe0561f18e6d1a75b58 authored almost 4 years agoThis reverts commit 30a42dea32c8306fa63a652ffe690f8342d5c323.
fead0312f1cbb80cec08c1706b0620b271d2249e authored almost 4 years ago
We should generally be using torch_signature_ods_gen.py for generating
these. Somehow this one s...
Also add `is_write` field.
c607efa20567fb6700360b1d4bb09607314da88b authored almost 4 years agoSigned-off-by: Bairen Yi <[email protected]>
30a42dea32c8306fa63a652ffe690f8342d5c323 authored almost 4 years ago
torchvision nightly has not bump to 0.10.0 alpha, so pip installs
torchvision==0.9.0 even with t...
4cf8aef5d62e8ff4c17b3423990e62156b60be5b authored almost 4 years ago
* Import ATen conv2d conversion and test
This is a first attempt at expanding ATen-to-TCF con...
4fd9b4afb526692ec4943633019eaa864315240b authored almost 4 years ago
This happens in practice with e.g. ResNet from torchvision (multiple
instances of the same Batch...
2750d2084cd3289dfe84de5a8745f37f9a523d4e authored almost 4 years ago
572d198b683bfcfd57e75a26e943340ccba03719 authored almost 4 years ago
01b8a01e1ba8c52d9ce1cf3da7ed374c631d5e55 authored almost 4 years ago
Signed-off-by: Bairen Yi <[email protected]>
5315598947bd189b27e2bcd732c267a65386de7d authored almost 4 years agoSigned-off-by: Bairen Yi <[email protected]>
5fed296904e0aeaa6000b533e0cc6e1a97b18caa authored almost 4 years agoe7a8fd76e284dce2731dc13d970faa3cc14394f1 authored almost 4 years ago
So CI build options are closer to those in `build_tools/install_mlir.sh`.
Also append hash of C...
8f9d4f917db2ae26481943555c811b01ca73ea92 authored almost 4 years agoSigned-off-by: Bairen Yi <[email protected]>
53b01cb9ba8e937ab0ae56ca35f16e30f534a116 authored almost 4 years ago06373dcbbb68390f76c7e2cd34a8523851842eab authored almost 4 years ago
* [torch] Add import support for IValue string Type(s)
* [test] Add test for Strings import
b94a859e03b4f42be85e4a8901e384023facb7cf authored almost 4 years ago
Tracing seems now now capture a 4-operand version of aten::add instead
of 3-operand.
I fixed th...
a36113e5869c90e15a676c51ecc177de82d0d79c authored almost 4 years ago
In terms of IR structure, TorchScript allows types to vary in many
circumstances where MLIR requ...
ca3a02da28a805a7046b6fc3e63f630d1eedf547 authored almost 4 years ago
I could not find a corresponding ListIndex in prim, which seems to
translate to a __get_attr__ u...
68338eafb7ff72612221fa0ec796656ba27ddfe5 authored almost 4 years ago
This is a funny one. It combines a `for` and `while` loop in one op. We
will need to write some ...
This arises when casting optionals, which happens a lot especially
around handling of default ar...
Used by resnet18.
It seems to originate from a helper `_verify_batch_size`:
[code link](https:/...
7bb3b2eb6eb656afa7d351b2838f208c4b212e8c authored almost 4 years ago
This primarily unlocks proper handling of free functions (that is,
functions that are not method...