2024-10-22 13:41:44 +00:00
# ACPO
#### 介绍
ACPO(AI-Enabled Compiler-Driven Program Optimization) is a novel framework to provide LLVM with simple and comprehensive tools to benefit from employing ML models for different optimization passes.
#### 软件架构
2024-10-25 12:54:25 +08:00
软件依赖python环境
2024-10-22 13:41:44 +00:00
#### 安装教程
2024-10-25 12:54:25 +08:00
1. 软件依赖python环境运行。
2. 训练请到ACPO-model目录下pip install -r requirements.txt安装相应包。
3. 使能编译器推理模型请到软件根目录下pip install -r requirements.txt安装相应包。
2024-10-22 13:41:44 +00:00
#### 使用说明
2024-10-25 12:54:25 +08:00
1. 模型训练:软件根目录下
cd ACPO-model/src
运行命令: python3 train.py --configuration( config具体参考src目录下的README.md, 可进行多个config配置)
参数调整: 可通过配置doc/config目录下user_train_config.json或.yaml进行配置, test目录下提供适配样例
模型调整:在/src/models.py中调整模型
2. LLVM端到端使用ACPO
将保存好的模型相关文件保存在models目录中
安装LLVM并编译ACPO LLVM侧相关代码
在运行推理前设置环境变量: export ACPO_DIR=/your_ACPO_addr
以inline model测试为例:
AOT( 使用预编译好的模型) 测试命令: clang -O3 -mllvm -enable-acpo-fi-aot -mllvm -acpo-verbose-fi -lm test.c
实时推理测试命令: clang -O3 -mllvm -enable-acpo-fi -mllvm -acpo-verbose-fi -lm test.c
2024-10-22 13:41:44 +00:00
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com ](https://blog.gitee.com )
3. 你可以 [https://gitee.com/explore ](https://gitee.com/explore ) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP ](https://gitee.com/gvp ) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help ](https://gitee.com/help )
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/ ](https://gitee.com/gitee-stars/ )