Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zrr1999/boning-mlir
https://github.com/zrr1999/boning-mlir
Last synced: 28 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/zrr1999/boning-mlir
- Owner: zrr1999
- Created: 2023-04-11T08:31:29.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-06T06:29:12.000Z (3 months ago)
- Last Synced: 2024-10-31T06:10:56.404Z (3 months ago)
- Language: C++
- Size: 45.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Boning-mlir
## 使用方法
### docker
```sh
docker run --name Boning-mlir -itd --restart unless-stopped -p 10001:22 -v ~/workspace/:/workspace/ zrr1999/boning-mlir:latest
ssh -p 10001 zrr1999@localhost
```
### 构建项目#### 1. Prerequisites: clang ninja
#### 2. Run "git submodule update --init" to get the llvm project
#### 3. Build:
3.1 Use shell script:One-step Build:
```sh
./build.sh --step 1
```
Two-step Build:
```sh
./build.sh --step 2
```
3.2 Use CLI directlyOne-step Build
```sh
cmake -G Ninja -Bbuild \
-DLLVM_ENABLE_PROJECTS="mlir" \
-DLLVM_TARGETS_TO_BUILD="X86;ARM" \
-DLLVM_EXTERNAL_PROJECTS="boning-mlir" \
-DLLVM_EXTERNAL_BONING_MLIR_SOURCE_DIR="$PWD" \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCMAKE_BUILD_TYPE=RELEASE \
3rdparty/llvm/llvm
cd build
ninja check-mlir
ninja
ninja install (optional)
```
Two-step BuildBuild LLVM and MLIR
```sh
cd boning-mlir/3rdparty/llvm
mkdir build && cd build
cmake -G Ninja ../llvm \
-DLLVM_ENABLE_PROJECTS="mlir;" \
-DLLVM_TARGETS_TO_BUILD="X86;ARM" \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCMAKE_BUILD_TYPE=RELEASE
ninja check-mlir
```
Build boning-mlir
```sh
cd boning-mlir
mkdir build && cd build
cmake -G Ninja .. \
-DMLIR_DIR=$PWD/../3rdparty/llvm/build/lib/cmake/mlir \
-DLLVM_DIR=$PWD/../3rdparty/llvm/build/lib/cmake/llvm \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCMAKE_BUILD_TYPE=RELEASE
ninja
ninja install (optional)
```## TODO
- 利用 [IssueTools](https://github.com/zrr1999/IssueTools) 管理 issue 和 TODO
- 添加 Python 支持
- 实现 PyTorch 前端支持
- x86 CPU 后端方言(或利用 llvm ir)
- 添加单元测试机制及补充 CI 机制
- 量化、剪枝等机制的研究
- 内存分配优化算法
- 针对 Arm CPU(A53)和 GPU(Mali)的技术调研
- 方案报告
- 更多内容