commit | 929eb500d4c9b3fff0693c49fd55c8093dc1ad62 | [log] [tgz] |
---|---|---|
author | ziereis <44057120+ziereis@users.noreply.github.com> | Wed Jan 15 09:12:39 2025 +0100 |
committer | GitHub <noreply@github.com> | Wed Jan 15 08:12:39 2025 +0000 |
tree | ce08ace14ab1be19ff053fe6c86f6be8de9963fa | |
parent | d1d25641f4cb87ab2c07a4136ba1cec4fb6cf578 [diff] |
[mlir] Rewrites for I2 to I8 signed and unsigned extension (#121298) Adds rewrites for i2 to i8 signed and unsigned extension, similar to the ones that already exist for i4 to i8 conversion. I use this for i6 quantized models, and this gives me roughly a 2x speedup for an i6 4096x4096 dequantization-matmul on an AMD 5950x. I didn't add the rewrite for i8 to i2 truncation because I currently don't use it, but if this is needed, I can add it as well. --------- Co-authored-by: Andrzej WarzyĆski <andrzej.warzynski@gmail.com>
Welcome to the LLVM project!
This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.
The LLVM project has multiple components. The core of the project is itself called “LLVM”. This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer.
C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM.
Other components include: the libc++ C++ standard library, the LLD linker, and more.
Consult the Getting Started with LLVM page for information on building and running LLVM.
For information on how to contribute to the LLVM project, please take a look at the Contributing to LLVM guide.
Join the LLVM Discourse forums, Discord chat, LLVM Office Hours or Regular sync-ups.
The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.