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

Adjust pass pipeline for changes to `dim` canonicalization.

This results in cleaner IR. In particular, Mlp2LayerModule e2e test has
a dim op that is elimina...

40369c54dc6dda6b90640c1d9c03b4025828bcf7 authored over 3 years ago by Sean Silva <[email protected]>
Add `torch.vtensor.literal` op.

This op is much better behaved than the `torch.tensor.literal` op
(which is the new name of the ...

333e07a74edbf2835198006cb21d3ee3d7cad0ea authored over 3 years ago by Sean Silva <[email protected]>
Add a !torch.float type.

This removes the dependence of the `torch` dialect on the low-level
builtin types.
Now the `torc...

4a0eb44d17d453a7dca8c5acf09fcc81bba90d69 authored over 3 years ago by Sean Silva <[email protected]>
Add `!torch.int` type.

This replaces the ad-hoc use of `i64` throughout the Torch layer, and
helps to keep it crystal c...

f49ebf1690dff1febef646f74e0c284b98acfea9 authored over 3 years ago by Sean Silva <[email protected]>
Add `torch.prim.If`

This removes the use of `scf.if`, which required laundering back and
forth between `i1` and `!to...

8860b5c55d40e78ac68808f0e3de5f991e4eeb45 authored over 3 years ago by Sean Silva <[email protected]>
Add folders for torch.aten.gt.int / torch.aten.ne.int

This fixes a "regression" on ResNet where we weren't folding away all
the control flow. For now,...

224afb186e43c8d3ca73a1ba8fa7b0e00f53d426 authored over 3 years ago by Sean Silva <[email protected]>
Add `!torch.bool` type.

This finishes removing the dependence on the basicpy dialect!

Changes:
- Add `!torch.bool` type...

784156a998113e1f486ea6bc4cefabd617f8d300 authored over 3 years ago by Sean Silva <[email protected]>
Add aten.relu Linalg lowering support

7b7c9c5d3df0b82000d656f7e180950706fc5487 authored over 3 years ago by Yi Zhang <[email protected]>
Add `torch.constant.int` and `torch.constant.float`.

- This removes reliance on basicpy.numeric_constant.
- Also, add OpAsmOpInterface to the `torch....

3ccf6002af5b23a8366779a7a4489a97d440b48b authored over 3 years ago by Sean Silva <[email protected]>
Add !torch.str type.

- Remove dependence on `!basicpy.BytesType`.
- Add `torch.constant.str "s"` analogous to `torch....

2e850ecb724c14821710503f199d09bacaeb93a6 authored over 3 years ago by Sean Silva <[email protected]>
Add 2021Q3 roadmap.

This also restructures the docs to a "roadmap" directory, to preserve
previous roadmaps / allow ...

31c15cab2b03617505f1fa8c0439617dd7521d13 authored over 3 years ago by Sean Silva <[email protected]>
Add `!torch.tuple<T1, T2>` type.

This further eliminates the need for the `basicpy` dependency.

This required adding `torch.prim...

92ee0fa98f7370c6f593627c10f94ec2971e301b authored over 3 years ago by Sean Silva <[email protected]>
Remove a few more comments I missed in the last commit.

ea1dd1cd906dd98f5404d690158a93faa0d06c15 authored over 3 years ago by Sean Silva <[email protected]>
Make C API files more consistent

- Make consistent with MLIR Core
- Use `//` or `///` comments.
- Use `bool` type for boolean...

6b2424512b53dd9c627daf91f1d609ba2097b252 authored over 3 years ago by Sean Silva <[email protected]>
Introduce native `!torch.none` type.

- Add `torch.constant.none` op to construct it (naming is chosen to be
analogous to Torch's re...

db282fd1b4be05baf394e0d6935f7b94be545162 authored over 3 years ago by Sean Silva <[email protected]>
Use new "MLIR_ENABLE_BINDINGS_PYTHON" in the CI.

6b293b695d11415053cc8a0869208d9f2fa80521 authored over 3 years ago by Sean Silva <[email protected]>
Move Torch type implementation code into TorchTypes.cpp

81bcd7fb12d82e8a8fcc3f670e598692e26e5ce5 authored over 3 years ago by Sean Silva <[email protected]>
Bump llvm-project to cbd0054b9eb17ec48f0702e3828209646c8f5ebd

Changes:
- MLIR_BINDINGS_PYTHON_ENABLED -> MLIR_ENABLE_BINDINGS_PYTHON
- canonicalizer constant ...

0b6516c7cceb7273048414f66b45a43f8ec70c6f authored over 3 years ago by Sean Silva <[email protected]>
Add TorchList type and prim::ListConstruct #218

e0ff5248fbf61e27f885d3385961bb7c45324cf7 authored over 3 years ago by Yi Zhang <[email protected]>
Introduce `!torch.tensor` / `!torch.vtensor` types.

This removes our reliance on the numpy dialect and avoids our off-label
use of the builtin tneso...

370e3270ab70546d62e8cf05180c0dda36db6e08 authored over 3 years ago by Sean Silva <[email protected]>
Get simple quantized model importing.

This is enough to import the program and get it through the compilation
pipeline. It of course f...

d66e8fe1f8e0a4a6a2bbdbb532feed0ba33d34ce authored over 3 years ago by Sean Silva <[email protected]>
Improve diagnostic handler

It wasn't printing notes or putting the "error:" in front.

d50ea8d31e7b641dccf090bc8e5b62c7680b8126 authored over 3 years ago by Sean Silva <[email protected]>
Rewrite error reporting of e2e tests.

This now gives [much nicer output](https://gist.github.com/silvasean/f048e0f37b04542dae6469b8680...

b7b7fd4959e1834274206d4c2666ebd87165bc85 authored over 3 years ago by Sean Silva <[email protected]>
Shore up error reporting for TorchScript import.

This code was not exception safe -- it would leave an operation
unattached to anything, which br...

0c892960751e6ec014ea940b09e27de5fedfd6a9 authored over 3 years ago by Sean Silva <[email protected]>
Bump llvm-project to 35454268cf93f5561439980d6baeb27a874a380c

2453805f7f1096e8cb91536e9fe13dca23c36058 authored over 3 years ago by Sean Silva <[email protected]>
Significantly restructure torch/aten import design.

This is a really major and invasive restructuring of the way we get
torch operators (`torch::jit...

2efda323ffd5a3ec0c9302fa07c02bd1701cdf3b authored over 3 years ago by Sean Silva <[email protected]>
Bump llvm-project to 12874e93a15219ccfaff42a0536b2b5368c6f304

01baa39781e840e7f5c93cc3a3ecad2a21a58592 authored over 3 years ago by Sean Silva <[email protected]>
Add -pass-pipeline-crash-reproducer to npcomp-opt alias.

099bb7e29b50633c6d80278195255055e6aedf7b authored over 3 years ago by Sean Silva <[email protected]>
Bump llvm-project to 6d263b6f1c97fe6c45c75443e7daf6cd0c1c4222

Changes:
- representation of arg attributes on functions changed

45ba5fac6c1797415538a6eb4e19b0a4ceef2e62 authored over 3 years ago by Sean Silva <[email protected]>
[cleanup] Add materializer for basicpy.singleton

This allows the canonicalizer to coalesce it like other constants.

133bdf4b31ff74a202c14be5ae6c2892c92e4f9c authored over 3 years ago by Sean Silva <[email protected]>
Add flatten op recognition + shape refinement.

This op has complex aliasing semantics, so it is kept mutable for now.

With this, we reduce Res...

3d08c83580d6589715c450d2e289c8c8846da3cd authored over 3 years ago by Sean Silva <[email protected]>
Add recognition/folder/lowering for aten::__is__, aten::ne.int, and aten::dim

Interestingly, TorchScript has its own op (`torch::jit::Operator`)
registry separate from the di...

55c3cc6624f90308803495c7fea5bf36a685384c authored over 3 years ago by Sean Silva <[email protected]>
Add AllowsTypeRefinement trait and use it to improve RefineTypes

This trait lets us model the semantics of various aten/torch/numpy ops
that are insensitive to t...

9257457d8a3d9b15ab1d46253974a5f081ec1bd6 authored over 3 years ago by Sean Silva <[email protected]>
Reformat Passes.cpp and remove torch-globalize-pipeline.

The pipeline is subsumed by our lowering pipelines.

fb5f149e044710b8689df4c0e5ad3c6aa0c1f5f4 authored over 3 years ago by Sean Silva <[email protected]>
Add aten::len.t, aten::size, and aten::gt.int primitive ops

Also add some canonicalizations that finally reduce ResNet down to a
single block.

122cae2ee39a5c894fad383d8c93b7bc653d2ae7 authored over 3 years ago by Sean Silva <[email protected]>
Constant fold through basicpy.bool_cast.

This is the start of a push to getting ResNet running.

This involves throwing in the towel on a...

7eb36b4ae7bc3b56f12abd07772b748fe55d1b7a authored over 3 years ago by Sean Silva <[email protected]>
Remove old aten-to-std / ATenLowering pass.

It was confusing now that we have `convert-aten-to-std`.

1c832604d222208bd64396f6da60e3566c767b12 authored over 3 years ago by Sean Silva <[email protected]>
Add some more ResNet ops.

- aten::relu_, aten::max_pool2d, aten::adaptive_avg_pool2d, aten::batch_norm, aten::conv2d

No a...

ec6d06aa86e328633f51192921c794ba72569582 authored over 3 years ago by Sean Silva <[email protected]>
Refactor RefineTypes to use the upstream ForwardDataFlowAnalysis engine

This removes the need for defining all of the custom propagation logic,
and also adds support fo...

4678a7fedd029555785919da3e12f945f2837d18 authored over 3 years ago by River Riddle <[email protected]>
Bump llvm-project to 12011b5217929ef8a56c2099c6f3233934ea4fbc

- Rename FrozenRewritePatternList -> FrozenRewritePatternSet

642482429c6923f57064bc8695e670561e49f978 authored over 3 years ago by Sean Silva <[email protected]>
Move GlobalizeObjectGraph tests to their own directory

b1c49ae6484f9fe704e7c1dbd55b49d9728a9924 authored over 3 years ago by Sean Silva <[email protected]>
Add basic MLP's to the e2e curriculum.

These tests pass on the reference backend.

- Add aten.linear op + shape xfer function + ATen->L...

179105ca3e7c40d81dbc6ecd8359897474147cca authored over 3 years ago by Sean Silva <[email protected]>
Add InlineGlobalSlots pass.

This inlines global slots if possible. This allows them to participate
in folding, canonicalizat...

9ba77c6e131316da94ce3883eac5c4e7e923d474 authored over 3 years ago by Sean Silva <[email protected]>
Add vision models (resnet18 to start).

Also,
- improve error reporting of e2e framework.

8f9690194387ec621243bd1dbbb46e61797708d3 authored over 3 years ago by Sean Silva <[email protected]>
Miscellaneous changes while trying to work on ResNet18

- Move frontend lowering pipelines to c++ (this helps with reproducing
failures in npcomp-opt)...

3a890aa26cc04cac7e9c284140487fc36a018f60 authored over 3 years ago by Sean Silva <[email protected]>
README: mention installing nightly pytorch.

390d39a96cce49277d80a255c9e078453fb8f1f8 authored over 3 years ago by Sean Silva <[email protected]>
Bump llvm-project to 484b6648fdd4b104eaf7a2504dd07b60af2c9f8d

- add_mlir_doc arg order
- fix some dependent dialects on passes that were now causing errors
- ...

544cb4ef549b00e12a932b68f5b15b5de01fe440 authored over 3 years ago by Sean Silva <[email protected]>
Add comment about relative import.

This file needs to adopt best practices for how to structure python
"main"'s, but I don't know h...

b8ad0189ac65d3eb17885f48e1913b8450c5e931 authored over 3 years ago by Sean Silva <[email protected]>
Add npcomp-verify-backend-contract pass.

This pass verifies that a given module satisfies the contract that we
have for backends. This is...

c4123d4d4d0a1d97d526d9a984f0247294d26d1e authored over 3 years ago by Sean Silva <[email protected]>
Fix issue with unused functions in torch::jit::CompilationUnit

As described in the code comment:

```
When we import TorchScript IR, we import their entire "co...

fef1733e12266dff255b6f3c75f7c170b0b6bca5 authored over 3 years ago by Sean Silva <[email protected]>
Add end-to-end testing framework for TorchScript.

The E2E tests can be run with
```
npcpy frontends/pytorch/e2e_testing/torchscript/main.py
```

T...

39d50ccf0de8823c1aea57c14d07043d7d67abeb authored over 3 years ago by Sean Silva <[email protected]>
Add `aten.mm` to linalg lowering.

This is our first op with error semantics, and stresses the system.

There are a few design note...

f5dfa0252384474119fb7f2840e5cd432687f9eb authored over 3 years ago by Sean Silva <[email protected]>
Add support for compiling through IREE.

Recommended review order:
- Changes in frontends/pytorch/examples/
- Changes in python/npcomp/co...

28a0f02746f4a1315d8e17d9560f7ae1c255236c authored over 3 years ago by Sean Silva <[email protected]>
Declare TCP dialect dependency in TCFToTCP conversion

f9d9518f6e85637eff72dddbe518c7176be3f3b8 authored over 3 years ago by Aaron J Arthurs <[email protected]>
Add RefinePublicReturn pass.

This pass allows shape information to be propagated to return types,
which is nontrivial and can...

927546b3c56e0e7aa4195b0de758690c51a03ac0 authored over 3 years ago by Sean Silva <[email protected]>
MILESTONE: TorchScript unary tanh runs on RefBackend

This revamps the TORCH_TO_TCF_PASSES to reflect the new layering that we
are doing in the compil...

2ab62aec12fd0ea0fbe75df2bfb52307e160a478 authored over 3 years ago by Sean Silva <[email protected]>
Add simple type refinement pass.

Currently implemented as a simple intraprocedural dataflow analysis over
a standard ShapedType l...

1e357ae68017f2277e20533cb7a317839afa4cbe authored over 3 years ago by Sean Silva <[email protected]>
Bump llvm-project to 223dcdcfbe23affdf17ada7f023ee1872fd76160

- ModuleOp no longer has a terminator.

464feacba9b01882bb32093034c749814f9728e2 authored over 3 years ago by Sean Silva <[email protected]>
Add torch-adjust-calling-conventions pass.

This pass incorporates torch.type_bound info and also removes NoneType
returns (eventually it wi...

30356c41c83eb8f68b9923b218d084d436ee72ea authored over 3 years ago by Sean Silva <[email protected]>
Add primitive ArrayToTensor (numpy-array-to-tensor) pass.

The current implementation is just sufficient to do a unary aten.tanh
from the e2e spike, and ju...

6431b0f11f75b66f62fba03c04a887223e6ba908 authored over 3 years ago by Sean Silva <[email protected]>
Add communication channels to README

3f9760dc33f0f1d8b16dc1f7beb2dfb91e08681f authored over 3 years ago by Sean Silva <[email protected]>
[cleanup] Put the root class type for exportPath first.

This is more consistent and intuitive -- usually the object being
"indexed" or used as a "contex...

c3f1f8ebf4df151d618f092f75fe81e05e26c345 authored over 3 years ago by Sean Silva <[email protected]>
Basic infra for annotate shapes and dtypes on arguments.

These allow users to annotate a known "type bound" on the argument,
which can seed shape/dtype i...

e749074bae861f06f1b81c6a45d000867bf8f1ad authored over 3 years ago by Sean Silva <[email protected]>
Add ability to compile from object graph ir.

7a4043b7c4708e7a980e58a66b5550dd237d17f6 authored over 3 years ago by Sean Silva <[email protected]>
Add unary tanh lowering.

c6d56fed8a91cc927b2a7ae48218c8f6e013933f authored over 3 years ago by Sean Silva <[email protected]>
Update README.

b0ac04001db4aef4d8e6b96d2b720fae6b02d03c authored over 3 years ago by Sean Silva <[email protected]>
Clean up some compiler warnings on my machine.

641098be5430c04e5ceb71f373c126d68a1f5869 authored over 3 years ago by Sean Silva <[email protected]>
Bump llvm-project to 0524a09cc7e1a0797982feacf505825231efbee7

- renames of OwningRewritePatternList -> RewritePatternSet
- also `insert` to `add`
- RewriteP...

99178a167da8a04c01d3e35673a58386e7de6239 authored over 3 years ago by Sean Silva <[email protected]>
[refbackrt] Scalar arg support

* Adds f32 scalar argument support across the ABI boundary.
* Adds support for passing input typ...

4591884d0684a9c4a5a5fd030646cbdb145b79f6 authored over 3 years ago by Bryce Arden <[email protected]>
Add support for "trailing_" and "out" variants of various ops.

We already had the `promoteTrailingOutTensor` flag, but weren't using
it. A inplaceVariantKernel...

703428eff42310714878f331442e6e912d1fe461 authored over 3 years ago by Sean Silva <[email protected]>
Fix signature of unboxed aten::arange for torch HEAD

a53ed850bd74e4ebf5be3f2c1fc66ea62de70401 authored over 3 years ago by Sean Silva <[email protected]>
Revert "Skip torchvision 0.9.0 as it is incompatible with torch nightly"

This reverts commit e7b96ebefc2ca364428e169daffeaa3804236ec7.

19b9398aee6fb32b2b0dabe0561f18e6d1a75b58 authored over 3 years ago by Bairen Yi <[email protected]>
Revert "Also fallback autograd dispatch keys for torchvision::nms"

This reverts commit 30a42dea32c8306fa63a652ffe690f8342d5c323.

fead0312f1cbb80cec08c1706b0620b271d2249e authored over 3 years ago by Bairen Yi <[email protected]>
Generate Conv2d definition.

We should generally be using torch_signature_ods_gen.py for generating
these. Somehow this one s...

ba482cbb7292fc9143c402d3410d48651f0ca059 authored over 3 years ago by Sean Silva <[email protected]>
Make ATenOpRegistrations.txt dump more readable.

Also add `is_write` field.

c607efa20567fb6700360b1d4bb09607314da88b authored over 3 years ago by Sean Silva <[email protected]>
Also fallback autograd dispatch keys for torchvision::nms

Signed-off-by: Bairen Yi <[email protected]>

30a42dea32c8306fa63a652ffe690f8342d5c323 authored over 3 years ago by Bairen Yi <[email protected]>
Skip torchvision 0.9.0 as it is incompatible with torch nightly

torchvision nightly has not bump to 0.10.0 alpha, so pip installs
torchvision==0.9.0 even with t...

e7b96ebefc2ca364428e169daffeaa3804236ec7 authored over 3 years ago by Bairen Yi <[email protected]>
Add roadmap doc.

4cf8aef5d62e8ff4c17b3423990e62156b60be5b authored over 3 years ago by Sean Silva <[email protected]>
Import ATen conv2d conversion and test (#180)

* Import ATen conv2d conversion and test

This is a first attempt at expanding ATen-to-TCF con...

4fd9b4afb526692ec4943633019eaa864315240b authored over 3 years ago by Aaron Arthurs <[email protected]>
Support multiple instances of a class in GlobalizeObjectGraph.

This happens in practice with e.g. ResNet from torchvision (multiple
instances of the same Batch...

58c703010452bfbc5eabef5543058335c2e2f7b2 authored over 3 years ago by Sean Silva <[email protected]>
Add prim::device and handle derefining for prim::CallMethod

2750d2084cd3289dfe84de5a8745f37f9a523d4e authored over 3 years ago by Sean Silva <[email protected]>
Refactor prim node imports.

572d198b683bfcfd57e75a26e943340ccba03719 authored over 3 years ago by Sean Silva <[email protected]>
prim::dtype op

01b8a01e1ba8c52d9ce1cf3da7ed374c631d5e55 authored over 3 years ago by Sean Silva <[email protected]>
Update .getAttrs to ->getAttrs as it is deprecated.

Signed-off-by: Bairen Yi <[email protected]>

5315598947bd189b27e2bcd732c267a65386de7d authored over 3 years ago by Bairen Yi <[email protected]>
Address missing default label in switch statement

Signed-off-by: Bairen Yi <[email protected]>

5fed296904e0aeaa6000b533e0cc6e1a97b18caa authored over 3 years ago by Bairen Yi <[email protected]>
[refbackrt] Update Invoke API to support more than just Tensor's (#181)

e7a8fd76e284dce2731dc13d970faa3cc14394f1 authored over 3 years ago by Bryce Arden <[email protected]>
Add LLVM_LINK_LLVM_DYLIB=ON and remove LLVM_ENABLE_LLD=ON when building LLVM in GitHub CI

So CI build options are closer to those in `build_tools/install_mlir.sh`.

Also append hash of C...

8f9d4f917db2ae26481943555c811b01ca73ea92 authored over 3 years ago by Bairen Yi <[email protected]>
Bump llvm-project to e31c77b1827fa4dd3511f21af11cfab18ecf6d38

Signed-off-by: Bairen Yi <[email protected]>

53b01cb9ba8e937ab0ae56ca35f16e30f534a116 authored over 3 years ago by Bairen Yi <[email protected]>
Add install options for npcomp libraries and executables (#183)

06373dcbbb68390f76c7e2cd34a8523851842eab authored over 3 years ago by stephenneuendorffer <[email protected]>
[torch] Add import support for IValue string Type(s) (#179)

* [torch] Add import support for IValue string Type(s)

* [test] Add test for Strings import

b94a859e03b4f42be85e4a8901e384023facb7cf authored over 3 years ago by Bryce Arden <[email protected]>
Fix recent break due to PyTorch changes.

Tracing seems now now capture a 4-operand version of aten::add instead
of 3-operand.

I fixed th...

a36113e5869c90e15a676c51ecc177de82d0d79c authored over 3 years ago by Sean Silva <[email protected]>
Properly model "derefinement".

In terms of IR structure, TorchScript allows types to vary in many
circumstances where MLIR requ...

43dba03afdd82bbd0ac7d1d06596cf13f6daed6b authored over 3 years ago by Sean Silva <[email protected]>
[prim] Add support for List|TupleUnpack

ca3a02da28a805a7046b6fc3e63f630d1eedf547 authored over 3 years ago by Bryce Arden <[email protected]>
[prim] Add TupleIndex support

I could not find a corresponding ListIndex in prim, which seems to
translate to a __get_attr__ u...

1736ff02533e4be85be4471b71ddbc4a00462e5f authored over 3 years ago by Bryce Arden <[email protected]>
[chore] Make variable names in prim.py more clear

68338eafb7ff72612221fa0ec796656ba27ddfe5 authored over 3 years ago by Bryce Arden <[email protected]>
Add support for prim::Loop op.

This is a funny one. It combines a `for` and `while` loop in one op. We
will need to write some ...

939d36906f324b5035b58065cfc2dfceecc86e61 authored over 3 years ago by Sean Silva <[email protected]>
Add support for `prim::unchecked_cast`.

This arises when casting optionals, which happens a lot especially
around handling of default ar...

df4c5764da38b55c86f5b5421d6acdec7104376c authored over 3 years ago by Sean Silva <[email protected]>
Add support for prim::RaiseException.

Used by resnet18.

It seems to originate from a helper `_verify_batch_size`:
[code link](https:/...

7dfd6f697e48f2fbcea964d1a310937b2d621b93 authored over 3 years ago by Sean Silva <[email protected]>
Fix the import path in python samples

7bb3b2eb6eb656afa7d351b2838f208c4b212e8c authored over 3 years ago by Yi Zhang <[email protected]>
Properly import the entire torch::jit::CompilationUnit

This primarily unlocks proper handling of free functions (that is,
functions that are not method...

c837dbb07703ff51ad60372bf159389bbc454071 authored over 3 years ago by Sean Silva <[email protected]>