项目简介
本项目是基于Python和iRRAM构建的高精度数学表达式优化系统。利用Python解析和优化表达式,结合iRRAM库实现高精度计算,可提升数学表达式计算的精度与效率。项目覆盖表达式解析、优化及高精度计算全流程,适用于对精度要求高的科学计算与工程应用场景。
项目的主要特性和功能
- 表达式解析与优化:运用ANTLR解析数学表达式生成解析树,通过随机代数变换和路径合并生成等价表达式,增强表达式稳定性。
- 高精度计算:集成iRRAM库,支持任意精度的浮点数计算,通过稳定性分析保证计算结果准确。
- 代码生成与编译:可生成C++代码,支持Herbie和iRRAM的优化代码生成,还能自动生成Makefile简化编译流程。
- 单元测试与性能分析:提供单元测试框架验证表达式转换正确性,通过基准测试分析优化后代码性能。
安装使用步骤
1. 环境配置
确保系统为Ubuntu 16.04,安装Python 3.6及相关依赖:
bash
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.6
sudo apt install curl
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3.6 get-pip.py
安装ANTLR4和相关Python包:
bash
sudo pip3 install antlr4-python3-runtime==4.7.1
sudo pip3 install sympy==1.1.1
安装Clang编译器:
bash
sudo apt install clang
安装iRRAM库:
bash
sudo apt install m4
sudo apt-get install autoconf automake libtool
下载并安装GMP和MPFR库:
```bash
tar -zxvf gmp-6.0.0.tar.bz2
cd gmp-6.0.0
./configure
make
sudo make install
tar -zxvf mpfr-3.1.2.tar.bz2
cd mpfr-3.1.2
./configure
make
sudo make install
安装iRRAM:
bash
cd iRRAM
sudo ./QUICKINSTALL_run_me
```
2. 项目运行
进入项目根目录,运行以下命令启动优化流程:
bash
cd Script/
sh bench_eval.sh
3. 结果分析
优化后的结果文件存于./Result/casename
目录,每个用例的结果文件名为error.rd
,记录优化前后误差。优化后的代码保存在Banary/OptimizedCode/
目录。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】