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

Add test showing argument type inference.

c84ce175732f8c23f80e5c6597ce7387f4d690bb authored over 4 years ago by Stella Laurenzo <[email protected]>
Add limited support for function arguments.

917fd94f941324f375105a90454b67805b3950a9 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add a (very) basic type inference pass for basicpy.

For simple programs, this gets us enough typing to lower to real backends.

e3fd22a0355fc99ec5c6c15683558f07db7dd2ed authored over 4 years ago by Stella Laurenzo <[email protected]>
Add skeleton of type inference pass.

3e58d8fe37fcf0a436dd5a7d1b9e4b48f5c6462a authored over 4 years ago by Stella Laurenzo <[email protected]>
Move Basicpy and Numpy dialect IR to IR/ folder.

432e01fe8f13671684464852f528cff5c5a23c54 authored over 4 years ago by Stella Laurenzo <[email protected]>
Remove unused assignment

6728503fcfe491729007f8d8bc6e0ab767975d31 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add implicit return and expression statements where the value id discarded.

340f109742acf88c8896db2462aeb4cd035113c3 authored over 4 years ago by Stella Laurenzo <[email protected]>
Split frontent.py into importer.py.

2bb4cdf4e7da0baf4cab818c62abf01d42fef827 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add IfExp emission.

22cbe044c213f0380b64e7c45d61f92cc1fe9176 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add boolean/logical operations (and, or, not).

* Adds a new to_boolean op to evaluate a value as a truthy i1
* Uses cascading scf.if ops to pro...

e18e8e0a96e6466a8d69f490adce43cc3492c3d1 authored over 4 years ago by Stella Laurenzo <[email protected]>
Make binary_expr and binary_compare have similar asm syntax.

b0a80e04f1759a1c6d7b936a16048a37f8778f72 authored over 4 years ago by Stella Laurenzo <[email protected]>
Remove 2-arg compare special case and use common utility to do sub evaluation.

44f7e22f4d1750b4d1ca4827d36d6c6ef5e253db authored over 4 years ago by Stella Laurenzo <[email protected]>
Add support for short-circuit comparisons with scf.if.

1ef3614682259a4b84375bfed7bda37af194bf0c authored over 4 years ago by Stella Laurenzo <[email protected]>
Refactor things so that an SCF mixin dialect helper can be used.

* Makes the OpBuilder an input to the DialectHelper.
* The containment hierarchy can be simplifi...

a32219c3bb0730fb8504101b3c3915e7af0df86b authored over 4 years ago by Stella Laurenzo <[email protected]>
Adds ODS and import support for binary_expr and binary_compare ops.

* Currently only supports non-short-circuit comparisons.

85b724e70cf925b5b9f69f869de530436428e138 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add None constants.

7c176ed87291d35aa38f30ff5f7cb523d608e83a authored over 4 years ago by Stella Laurenzo <[email protected]>
Fix AST constant handling to be compatible with 3.8 (the right way).

4cd604f2a2decfb2029f1a23e09b04c67006b582 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add bytes constants.

72499e0319ccde9b97d2114777eb152305ad0dc8 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add ellipsis constants.

a1e6ff4ab7c53795eecd87b6c584a1239dadddd8 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add string constants.

f3829b1d4fdac36695a74d202e921d317cda089e authored over 4 years ago by Stella Laurenzo <[email protected]>
Add bool constants.

869228e316fb5bfb85b2224eb4ef012b2387aa1f authored over 4 years ago by Stella Laurenzo <[email protected]>
Aggregate all lit test targets under check-npcomp.

8280b86c0532c07f564ca7cad9b5906e50979a78 authored over 4 years ago by Stella Laurenzo <[email protected]>
Update readme with test command.

639826183d849f4a44b2da9af69ff950db9aff8a authored over 4 years ago by Stella Laurenzo <[email protected]>
Add lit test suite for python compiler.

* Adds a test for simple constants and fixes issues.

af4466197ea77bd2a6a3aee4a499ed3bde269dca authored over 4 years ago by Stella Laurenzo <[email protected]>
Fix issue with float_attr.

28048337ae6753b02bab313b152dfcd97c590a82 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add notes on AST extraction.

f67c5a42dc97825a1b3480164b1fb28eb7d0adc7 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add sample for ast extraction.

7b95d860e90dd44d06f70d675cca554cf648ce73 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add basic AST -> basicpy dialect function extraction.

* Extends the bindings to support locations.
* Various other things necessary to extract a funct...

0cc0a7165e64a200e3d2c63c5ef62c0c2f1397a1 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add pass registrations and a simple compilation example from python.

* Got side-tracked hunting down a vague-linkage RTTI issue due to not anchoring key methods in P...

60f132b26f3c618b2b42fa22b3eb721a12908913 authored over 4 years ago by Stella Laurenzo <[email protected]>
Remove XFAIL.

This test seems to be passing, after a clean rebuild of everything
(including MLIR).

92e45703adb386a28d3eec1c9438f87a93fc7019 authored over 4 years ago by Sean Silva <[email protected]>
Enable warnings by default.

The secret here is LLVM_ENABLE_WARNINGS=ON.

I also fixed a couple warnings, which gets us to be...

cd7258dbd48bd9254c6741cab2d3f4e36cbd3c84 authored over 4 years ago by Sean Silva <[email protected]>
Add python binding for running passes.

fddf41ca92fd4d140be8ba0a89ad943b7438a8f2 authored over 4 years ago by Stella Laurenzo <[email protected]>
Bump llvm-project version to 232d348c6eff8493fc016b1ea8a99db0e5620d81.

bb871e7601b5cd72482beeb8f1daf6876f65cf29 authored over 4 years ago by Stella Laurenzo <[email protected]>
Rename tests that run e2e-lowering-pipeline.

This makes it more clear that they are grouped together. A directory
seemed too heavyweight.

e62e2e29154b7424d95408895462d044a5930033 authored over 4 years ago by Sean Silva <[email protected]>
Add ability to run without optimizations.

The default is to only do the bare minimum needed for correctness, since
that stresses the layer...

7b9f0c3364cda905f9a2603e70353f0069b5006b authored over 4 years ago by Sean Silva <[email protected]>
Initial NpcompRt (npcomp_rt) dialect boilerplate.

e8b1a07ef463dccb485bd28d79b47daaaee13cfd authored over 4 years ago by Sean Silva <[email protected]>
Make LowerRankedShapes clean up shape.from_extents ops.

We were previously relying on a later canonicalization pass to clean
them up, but it is a cleane...

e7b5a2b8a31dec12ede0430c3748378f0992ba9b authored over 4 years ago by Sean Silva <[email protected]>
Add tools/bash_helpers.sh

This script (make sure to `source` it!) defines a number of handy
aliases which make compiler de...

67b129af7a77b22c6aa90ac769bbbdf50644ff55 authored over 4 years ago by Sean Silva <[email protected]>
Rename `check-npcomp-opt` to just `check-npcomp`.

It runs npcomp-run-mlir as well now, so having `-opt` in the name is
confusing.

ccd5754b8899fc6f1168a5dabd3f988e2529a5bd authored over 4 years ago by Sean Silva <[email protected]>
Add bare-bones npcomp-run-mlir.

The code isn't super clean, but is a useful incremental step
establishing most of the boilerplat...

ea822968faf3e6bf43e7e66fe7624dd708038172 authored over 4 years ago by Sean Silva <[email protected]>
Move npcomp registration to helpers.

This adds:
- mlir::NPCOMP::registerAllDialects()
- mlir::NPCOMP::registerAllPasses()

927a831c1ef5974f510eee336451f23e8f1ba5d1 authored over 4 years ago by Sean Silva <[email protected]>
Use upstream shape.from_extents

Replace our local `tcp.shape_from_extents` op with the upstream
`shape.from_extents` op.

3a0945554024e5a2c55873b632b734f82409b78e authored over 4 years ago by Sean Silva <[email protected]>
Update llvm-project to 753a21928413f8a7e76978cb1354e09150e114e0

1fed1cb0162b25591da9a52b498a890773472cca authored over 4 years ago by Sean Silva <[email protected]>
Remove RtGetTensorExtentOp.

It is unused now, and will be superceded by a proper runtime dialect.

87aa561c6952a9585d79c8481370d575f82960d1 authored over 4 years ago by Sean Silva <[email protected]>
Lower to LLVM dialect.

With this commit, we finish conversion to LLVM dialect, and should be
ready for subsequent commi...

1d3dbd9d5c51b761027dc862b6e8d3167a8ce8df authored over 4 years ago by Sean Silva <[email protected]>
Rename tcp.abort_if to tcp.shape_observe_error

This more clearly captures its semantics as a structural "observer" of
code that we currently ma...

be1971c4fc28fb277d067bcc08bfbe55da7c09a7 authored over 4 years ago by Sean Silva <[email protected]>
Fix typo in LowerLinalgLoopDimOps

The legality condition was reversed. It's unclear to me why this didn't
cause "failed to legalize".

9191efdfc18eb4f6b84b9fc3a8979797fe0dafd5 authored over 4 years ago by Sean Silva <[email protected]>
Lower tcp.alloc_memref ops to tcp.get_extent + std.alloc.

- tcp.get_extent will be liminated while lowering shapes
- std.alloc is supported by the upstrea...

836a8d4bec27814c4a684020d9a6d889cce7390e authored over 4 years ago by Sean Silva <[email protected]>
Add a comment about how IREE would layer in.

Thanks to Stella for probing me on this.

9eaab7537c544d54b74dcc5c38adc373fa028408 authored over 4 years ago by Sean Silva <[email protected]>
Lower to the upstream memref ABI.

Specifically, we use unranked memrefs which get passed as a fixed-size
set of arguments/returns....

993338a12d6f50d77ad8f3f63483bb41d3cba364 authored over 4 years ago by Sean Silva <[email protected]>
Register AsmPrinter options (like -mlir-print-op-generic).

7687a6d8d25399adbe4771352ef451b11cff393e authored over 4 years ago by Sean Silva <[email protected]>
Remove the present tcp.island.

The idea was half-baked and after some deep thought felt like a solution
looking for a problem. ...

1b48d0d80b080414621677d6de68762d93cb0bba authored over 4 years ago by Sean Silva <[email protected]>
Add some anonymous namespaces.

This brings this code in line with the LLVM style guide and avoids
potential ODR issues.

98a38c3527093826df42baaf720fc6f5bd2615d2 authored over 4 years ago by Sean Silva <[email protected]>
Tidy up test/E2E

- Make rank1.mlir be the new "basic.mlir", as it is really the simplest
case.
- Move basic.mli...

889fe0d6c20745cf7a73122e347520a03da02bb9 authored over 4 years ago by Sean Silva <[email protected]>
Lower !shape.shape to SSA values.

This uses an approach inspired by what is done in IREE. See comments on
LowerRankedShapes.cpp fo...

eaeb4011e67a3a0ad4907fb93d4f1a48ce7be696 authored over 4 years ago by Sean Silva <[email protected]>
Add lowering from linalg to loops.

This also adds a small pass to clean up the `dim` ops that linalg
introduces. For now, it only h...

ef25428fe368511c6f694503e0514ea0b716ef95 authored over 4 years ago by Sean Silva <[email protected]>
Add custom assembly format for tcp.alloc_memref/tcp.get_extent

This makes the IR a bit easier to scan.

f525d4dbcf64b4d4f8461fc6f0b57f61f752fdc2 authored over 4 years ago by Sean Silva <[email protected]>
Add some cleanup passes.

This makes the IR more presentable before going to the next phase of
lowering (ops on memref/buf...

174ab19c5f914f034200d9e8fe477f578a2768e5 authored over 4 years ago by Sean Silva <[email protected]>
Update llvm-project to 310d32cb80a611e6384a921e85607fea05841f26

83db558db9931490d76b31b26f8c7b8e8b92a720 authored over 4 years ago by Sean Silva <[email protected]>
"Finish" tensor -> memref conversion.

There's a lot of details to flesh out here, but the basic approach seems
promising (see comments...

53c17dbed9d603bc2fba8a89c4b0f3cfea135a43 authored over 4 years ago by Sean Silva <[email protected]>
Avoid introducing DimOp's in LowerBroadcastToToLoops.

This makes sure we stay resonably canonically using the shape machinery.
(In fact, DimOp should ...

fec2ee007279af041d38a94f3843f483fe9156f8 authored over 4 years ago by Sean Silva <[email protected]>
Add -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE

This allows VSCode (and presumably other IDE's) to pick up a
`tools/cmake_configure.sh`'ed build...

1ef8b91a9582ac29bab34d89e2669f501d264c78 authored over 4 years ago by Sean Silva <[email protected]>
Bump llvm-project to 3af85fa8f06220b43f03f26de216a67be4568fe7.

950ba12426e333cd68c858ca425541563f576541 authored over 4 years ago by Stella Laurenzo <[email protected]>
Initial TCF/TCP E2E seed.

Very much WIP.

This is enough to get tcf.add down to approximately the "linalg.generic
on buffe...

e29aef855b62a60580c13bccac3120b93ccf18fe authored over 4 years ago by Sean Silva <[email protected]>
Add tools/test_all.sh

We should look into having a `ninja check-npcomp` that runs everything
with lit so that we get d...

f394e12d86c9f8c0a7a4ddbd18b6c0bc232963b4 authored over 4 years ago by Sean Silva <[email protected]>
Add implicit constant capture.

We want more sophisticated capture later, but this allows basics to function.

f2985e090177867f612152db0bd424fd27e295f0 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add MLIRContext.dense_elements_attr to create an attribute from a python buffer/array.

8ae71a95513ae3c9ab266a4bec865600162bc9f6 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add numpy.get_slice op and wire it up to the tracer.

a91b0bfbe188967a03d6e6c1b9d4e81ed3906560 authored over 4 years ago by Stella Laurenzo <[email protected]>
Switch sample tracer to emit builtin_ufunc globals instead of the impl versions.

db0b0ef1b279749a58650608a096c5676889716c authored over 4 years ago by Stella Laurenzo <[email protected]>
Add env var to enable experimental numpy array function handling.

497f1de5a28ba9a74172daf748a128a1f67eca63 authored over 4 years ago by Stella Laurenzo <[email protected]>
Update all python imports to be absolute and use a .env file to set the path correctly.

This makes things just work for debugging in VSCode.

0092b912ab7aee16199e1b32c23f95afdcd69a3b authored over 4 years ago by Stella Laurenzo <[email protected]>
Move python native library to python_native/_npcomp...so.

This allows binary and source packages to exist at different physical paths.

3611958b111ef5945f967afdeaac9727b3db2c27 authored over 4 years ago by Stella Laurenzo <[email protected]>
Rename basicpy_None_type to basicpy_NoneType to match native spelling.

* Also adds Basicpy.py to tests.

680e11ae62875cbe677a870c0cc3d7b8bb46bc05 authored over 4 years ago by Stella Laurenzo <[email protected]>
Remove spammy warnings and filecheck info in run_tests.

* This suppresses a warning that arises from using "-m" to launch a module contained in a packag...

644d9fb0d3ccf3eda8ff7a5077f73b6356b574c6 authored over 4 years ago by Stella Laurenzo <[email protected]>
Merge ir.Ops and ir.Types into ir.DialectHelper.

This will aid in managing hierarchies of custom dialect helpers.

4ebf972503076a02d948459ee4e789096b04f9da authored over 4 years ago by Stella Laurenzo <[email protected]>
Add DialectHelper for Basicpy dialect.

* Involved native code for the types and slot_object_get ops.

6b7c913e0bdb1821e3ddc64d935634d186412eaa authored over 4 years ago by Stella Laurenzo <[email protected]>
Delete npcomp.edsc_test from python/run_tests.py

aa9ffc3a11b71d7248b52ae50e13336bae15dbc6 authored over 4 years ago by Sean Silva <[email protected]>
Bump llvm version to 0c4aab27b3da05dd1b0c0c39472525325fda5e23.

* Fixes some api-change breakages.
* Deletes edsc module now that the IR bindings are working (a...

714bc01c02842fbc805a73816399a23d51a69631 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add basicpy.SlotObject type and ops to create/index into it.

* This is intended to provide low-level modeling for built-in objects.
* It is now possible to t...

bc5ef81d6805e39dbeef2bd30c1b568c791a2c3c authored over 4 years ago by Stella Laurenzo <[email protected]>
Add central registration for type ranges.

bfd5fedba71d5d77d8c3f88736a1b2855b10d0e7 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add known good llvm-project commit hash to readme.

f8cedd8656d0cd5a54f1eba508e152fbc1682a8d authored over 4 years ago by Stella Laurenzo <[email protected]>
Add new gist to the design notes.

9a0f4987744d83c79b2bbbde83890057aabbe9d6 authored over 4 years ago by Stella Laurenzo <[email protected]>
Create skeleton for 'Basicpy' dialect.

* It is time to start adding more python mechanisms.
* Running into this for materializing slice...

502ef8f19516337bb913bd62dee00620409c48f8 authored over 4 years ago by Stella Laurenzo <[email protected]>
Handle np.transpose() and ndarray.T shortcut.

* Just the form without explicit permutation for now.

ebb5bcf6af54a2f3437321b3d54e5396d57de7ae authored over 4 years ago by Stella Laurenzo <[email protected]>
Implement __array_func__ hook and use it to trace np.dot.

* Creates an abstraction/registry around emitters (intended to generalize to AST compilation as ...

a5f755d406031eb1a85fd6e6b505ee750b9df06b authored over 4 years ago by Stella Laurenzo <[email protected]>
Add hook for __array_function__ and (failing) np.dot sample.

1f54838d2e7b991f2c7f6c008aa692c67303c61d authored over 4 years ago by Stella Laurenzo <[email protected]>
Cleanup python namespace a bit for standalone use.

a38a1e28503d7703efdc6ab9223901849bed674b authored over 4 years ago by Stella Laurenzo <[email protected]>
Update readme

1f136f9dba18a9b264cd4a0f00a3be403edff1d8 authored over 4 years ago by Stella Laurenzo <[email protected]>
Rework the poc tracer to be structured how intended.

c89a35f97f807771f5517d0f9261d2122835cc02 authored over 4 years ago by Stella Laurenzo <[email protected]>
Rename ufunc_call op builder for consistency.

0805013716f8de65b427a079a7d4bc96263bc7f3 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add enough python bindings to build functions and ufunc calls.

78a8e6ec9e7ab1caa5f17b3d7152f5425e0f473b authored over 4 years ago by Stella Laurenzo <[email protected]>
Add python side Numpy dialect wrapper.

ba0c96b51a92dc4cf480f67336a5ea8fdeb4485f authored over 4 years ago by Stella Laurenzo <[email protected]>
Add wrappers for block and operation iteration.

I don't technically need this now but adding while the train of thought is fresh.

23a9ffaabe07c5409ba5b54fea3961eb90989dd6 authored over 4 years ago by Stella Laurenzo <[email protected]>
Start splitting Py* types into a header so that further C++ interop can be built.

c8740fd866578b049cc3003cf25b6e2fe1c0bdfa authored over 4 years ago by Stella Laurenzo <[email protected]>
Add MLIRContext and ModuleOp python bindings with asm parse/print and diagnostics.

ec0f6b4b22cc0e98a7576a0a1504220be667ea6e authored over 4 years ago by Stella Laurenzo <[email protected]>
Start defining new IR bindings and cleanup python init.

67d38db1e2ac15770127594045ea8d26cb6bb272 authored over 4 years ago by Stella Laurenzo <[email protected]>
Add !numpy.any_dtype dialect type.

d3632af675938c98b2c7260152193a468b384b3c authored over 4 years ago by Stella Laurenzo <[email protected]>
Add numpy.ufunc_call op.

b4425fe1d2c5bc8aec062a8bad4db8cf0e688fd3 authored over 4 years ago by Stella Laurenzo <[email protected]>
Rename from npcomp::NUMPY to NPCOMP::numpy to follow IREE convention.

c4a192d5c9fb6358626f05e80addabbed07e87d8 authored over 4 years ago by Stella Laurenzo <[email protected]>
Cleanup build instructions/scripts

f174c0557b688770a225915515226b556e3d3457 authored over 4 years ago by Stella Laurenzo <[email protected]>