| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[mlir][AMDGPU] fix AMDGPU C API registration (#74255) | 2 年前 | |
[MLIR][CAPI] Add C API dialect registration methods for Arith, Math, MemRef and Vector dialects Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D155450 | 3 年前 | |
[mlir][python] Add python support for async dialect and passes. since the async keyword is reserved in python, the dialect is called async_dialect. Differential Revision: https://reviews.llvm.org/D101447 | 5 年前 | |
[mlir][python] Add python support for async dialect and passes. since the async keyword is reserved in python, the dialect is called async_dialect. Differential Revision: https://reviews.llvm.org/D101447 | 5 年前 | |
[mlir][SMT] C APIs (#135501) This PR upstreams/adds the C APIs for SMT dialect (from CIRCT). --------- Co-authored-by: Bea Healy <beahealy22@gmail.com> Co-authored-by: Martin Erhart <maerhart@outlook.com> Co-authored-by: Mike Urbach <mikeurbach@gmail.com> Co-authored-by: Will Dietz <will.dietz@sifive.com> Co-authored-by: fzi-hielscher <hielscher@fzi.de> Co-authored-by: Fehr Mathieu <mathieu.fehr@gmail.com> Co-authored-by: Clo91eaf <Clo91eaf@qq.com> | 1 年前 | |
[mlir] Add C API for ControlFlow dialect Add basic C API for the ControlFlow dialect. Follows the format of the other dialects. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D121867 | 4 年前 | |
[mlir][emitc] Expose emitc dialect types (#119645) Added C API functions for the EmitC dialect types. | 1 年前 | |
[mlir] feat: add mlirFuncSetResultAttr (#125972) cc @ftynse @wsmoses | 1 年前 | |
[mlir][gpu] Add metadata attributes for storing kernel metadata in GPU objects (#95292) This patch adds the #gpu.kernel_metadata and #gpu.kernel_table attributes. The #gpu.kernel_metadata attribute allows storing metadata related to a compiled kernel, for example, the number of scalar registers used by the kernel. The attribute only has 2 required parameters, the name and function type. It also has 2 optional parameters, the arguments attributes and generic dictionary for storing all other metadata. The #gpu.kernel_table stores a table of #gpu.kernel_metadata, mapping the name of the kernel to the metadata. Finally, the function ROCDL::getAMDHSAKernelsELFMetadata was added to collect ELF metadata from a binary, and to test the class methods in both attributes. Example: mlir gpu.binary @binary [#gpu.object<#rocdl.target<chip = "gfx900">, kernels = #gpu.kernel_table<[ #gpu.kernel_metadata<"kernel0", (i32) -> (), metadata = {sgpr_count = 255}>, #gpu.kernel_metadata<"kernel1", (i32, f32) -> (), arg_attrs = [{llvm.read_only}, {}]> ]> , bin = "BLOB">] The motivation behind these attributes is to provide useful information for things like tunning. --------- Co-authored-by: Mehdi Amini <joker.eph@gmail.com> | 1 年前 | |
[mlir][gpu] Move GPU headers into IR/ and Transforms/ Depends on D127350 Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D127352 | 4 年前 | |
[MLIR] Add IRDL dialect loading to C API (#91852) Being able to add custom dialects is one of the big missing pieces of the C API. This change should make it achievable via IRDL. Hopefully this should open custom dialect definition to non-C++ users of MLIR. | 2 年前 | |
[mlir][index] Add CAPI (#127039) | 1 年前 | |
[MLIR][Python] add GetTypeID for llvm.struct_type and llvm.ptr and enable downcasting (#169383) | 8 个月前 | |
[mlir][linalg][python] Add Python Bindings for Inferring Contraction Dimensions from Affine Maps (#167587) This PR exposes linalg::inferContractionDims(ArrayRef<AffineMap>) to Python, allowing users to infer contraction dimensions (batch/m/n/k) directly from a list of affine maps without needing an operation. --------- Signed-off-by: Bangtian Liu <liubangtian@gmail.com> | 9 个月前 | |
[mlir] Register Linalg passes in C API and Python Bindings Provide a registration mechanism for Linalg dialect-specific passes in C API and Python bindings. These are being built into the dialect library but exposed in separate headers (C) or modules (Python). Differential Revision: https://reviews.llvm.org/D99431 | 5 年前 | |
[mlir][c] Init MLProgram C API Add MLIR upstream C api library definition. Differential Revision: https://reviews.llvm.org/D135083 | 3 年前 | |
[MLIR][CAPI] Add C API dialect registration methods for Arith, Math, MemRef and Vector dialects Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D155450 | 3 年前 | |
[MLIR][CAPI] Add C API dialect registration methods for Arith, Math, MemRef and Vector dialects Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D155450 | 3 年前 | |
[mlir][py] Add NVGPU's TensorMapDescriptorType in py bindings (#88855) This PR adds NVGPU dialects' TensorMapDescriptorType in the py bindings. This is a follow-up issue from [this PR](https://github.com/llvm/llvm-project/pull/87153#discussion_r1546193095) | 2 年前 | |
[MLIR][python bindings] add vendor gpu dialects Differential Revision: https://reviews.llvm.org/D157820 | 2 年前 | |
[mlir][python bindings] turn on openmp Just as in https://reviews.llvm.org/D157820, dialect registration is independent of any vendor specific libs having been linked/built/etc. Reviewed By: rkayaith Differential Revision: https://reviews.llvm.org/D158670 | 2 年前 | |
[mlir] Move casting calls from methods to function calls The MLIR classes Type/Attribute/Operation/Op/Value support cast/dyn_cast/isa/dyn_cast_or_null functionality through llvm's doCast functionality in addition to defining methods with the same name. This change begins the migration of uses of the method to the corresponding function call as has been decided as more consistent. Note that there still exist classes that only define methods directly, such as AffineExpr, and this does not include work currently to support a functional cast/isa call. Caveats include: - This clang-tidy script probably has more problems. - This only touches C++ code, so nothing that is being generated. Context: - https://mlir.llvm.org/deprecation/ at "Use the free function variants for dyn_cast/cast/isa/…" - Original discussion at https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443 Implementation: This first patch was created with the following steps. The intention is to only do automated changes at first, so I waste less time if it's reverted, and so the first mass change is more clear as an example to other teams that will need to follow similar steps. Steps are described per line, as comments are removed by git: 0. Retrieve the change from the following to build clang-tidy with an additional check: https://github.com/llvm/llvm-project/compare/main...tpopp:llvm-project:tidy-cast-check 1. Build clang-tidy 2. Run clang-tidy over your entire codebase while disabling all checks and enabling the one relevant one. Run on all header files also. 3. Delete .inc files that were also modified, so the next build rebuilds them to a pure state. 4. Some changes have been deleted for the following reasons: - Some files had a variable also named cast - Some files had not included a header file that defines the cast functions - Some files are definitions of the classes that have the casting methods, so the code still refers to the method instead of the function without adding a prefix or removing the method declaration at the same time. ninja -C $BUILD_DIR clang-tidy run-clang-tidy -clang-tidy-binary=$BUILD_DIR/bin/clang-tidy -checks='-*,misc-cast-functions'\ -header-filter=mlir/ mlir/* -fix rm -rf $BUILD_DIR/tools/mlir/**/*.inc git restore mlir/lib/IR mlir/lib/Dialect/DLTI/DLTI.cpp\ mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp\ mlir/lib/**/IR/\ mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp\ mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp\ mlir/test/lib/Dialect/Test/TestTypes.cpp\ mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp\ mlir/test/lib/Dialect/Test/TestAttributes.cpp\ mlir/unittests/TableGen/EnumsGenTest.cpp\ mlir/test/python/lib/PythonTestCAPI.cpp\ mlir/include/mlir/IR/ Differential Revision: https://reviews.llvm.org/D150123 | 3 年前 | |
Sub-channel quantized type implementation (#120172) This is an implementation for [RFC: Supporting Sub-Channel Quantization in MLIR](https://discourse.llvm.org/t/rfc-supporting-sub-channel-quantization-in-mlir/82694). In order to make the review process easier, the PR has been divided into the following commit labels: 1. **Add implementation for sub-channel type:** Includes the class design for UniformQuantizedSubChannelType, printer/parser and bytecode read/write support. The existing types (per-tensor and per-axis) are unaltered. 2. **Add implementation for sub-channel type:** Lowering of quant.qcast and quant.dcast operations to Linalg operations. 3. **Adding C/Python Apis:** We first define he C-APIs and build the Python-APIs on top of those. 4. **Add pass to normalize generic ....:** This pass normalizes sub-channel quantized types to per-tensor per-axis types, if possible. A design note: - **Explicitly storing the quantized_dimensions, even when they can be derived for ranked tensor.** While it's possible to infer quantized dimensions from the static shape of the scales (or zero-points) tensor for ranked data tensors ([ref](https://discourse.llvm.org/t/rfc-supporting-sub-channel-quantization-in-mlir/82694/3) for background), there are cases where this can lead to ambiguity and issues with round-tripping. Consider the example: tensor<2x4x!quant.uniform<i8:f32:{0:2, 0:2}, {{s00:z00, s01:z01}}>> The shape of the scales tensor is [1, 2], which might suggest that only axis 1 is quantized. While this inference is technically correct, as the block size for axis 0 is a degenerate case (equal to the dimension size), it can cause problems with round-tripping. Therefore, even for ranked tensors, we are explicitly storing the quantized dimensions. Suggestions welcome! PS: I understand that the upcoming holidays may impact your schedule, so please take your time with the review. There's no rush. | 1 年前 | |
[MLIR][python bindings] add vendor gpu dialects Differential Revision: https://reviews.llvm.org/D157820 | 2 年前 | |
[mlir] move SCF headers to SCF/{IR,Transforms} respectively This aligns the SCF dialect file layout with the majority of the dialects. Reviewed By: jpienaar Differential Revision: https://reviews.llvm.org/D128049 | 4 年前 | |
[mlir][SMT] add python bindings (#135674) This PR adds "rich" python bindings to SMT dialect. | 1 年前 | |
[mlir][spirv] Add support for C-API/python binding to SPIR-V dialect (#76055) Enable bindings. --------- Co-authored-by: jungpark-mlir <jungwook@jungwook-22.04> | 2 年前 | |
Fix a few GCC compiler warnings (NFC) | 5 年前 | |
[MLIR][sparse] Add soa property to sparse_tensor Python bindings (#109135) | 1 年前 | |
[mlir][sparse][capi][python] add sparse tensor passes First set of "boilerplate" to get sparse tensor passes available through CAPI and Python. Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D102362 | 5 年前 | |
Fix a few GCC compiler warnings (NFC) | 5 年前 | |
[MLIR][transform][python] add sugared python abstractions for transform dialect (#75073) This adds Python abstractions for the different handle types of the transform dialect The abstractions allow for straightforward chaining of transforms by calling their member functions. As an initial PR for this infrastructure, only a single transform is included: transform.structured.match. With a future tile transform abstraction an example of the usage is: Python def script(module: OpHandle): module.match_ops(MatchInterfaceEnum.TilingInterface).tile(tile_sizes=[32,32]) to generate the following IR: mlir %0 = transform.structured.match interface{TilingInterface} in %arg0 %tiled_op, %loops = transform.structured.tile_using_for %0 [32, 32] These abstractions are intended to enhance the usability and flexibility of the transform dialect by providing an accessible interface that allows for easy assembly of complex transformation chains. | 2 年前 | |
[mlir] expose transform dialect symbol merge to python (#87690) This functionality is available in C++, make it available in Python directly to operate on transform modules. | 2 年前 | |
[MLIR][CAPI] Add C API dialect registration methods for Arith, Math, MemRef and Vector dialects Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D155450 | 3 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 3 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 9 个月前 | ||
| 5 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 1 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 年前 |