Commit b962fa72 by zhengzifu

添加项目说明文档和依赖文件,包含HN-CodeGen项目的结构、功能、环境要求及安装使用说明。

parent 8edf8925
# HN-CodeGen
这是一个用于生成HN相关代码,来实现硬件加速的项目,主要包含权重优化、Verilog硬件描述生成和简单的验证等功能。
## 项目结构
主要目录说明:
- `hllm/`: 核心代码包
- `origin/`: 包含原始版本实现的代码
- `optimized/`: 包含基于端口合并优化实现的代码
- `verify/`: 包含验证代码
- `eda/`: 包含模型权重转化代码
- `config.py`: 项目配置文件
- `utils.py`: 包含一些工具函数
- `log.py`: 包含 tcl 生成功能
- `templates/`: 包含各种模板文件
- `archived/`: 存放历史归档的代码
## 主要功能
- 原始权重矩阵优化与转换
- 硬件描述文件(Verilog)自动生成
- 简单的验证功能
## 环境要求
- Python 3.6+
- C++11 编译器
- pybind11 >= 2.6.0 (用于C++代码的Python绑定,加速计算)
## 安装
1. 克隆仓库:
```bash
git clone http://62.234.201.16/zhengzifu/HN-CodeGen.git
```
2. 安装依赖:
```bash
pip install -r requirements.txt
pip install . -e
```
建议使用 uv 安装依赖
```bash
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
uv pip install . -e
```
## 使用说明
你只需要修改以下两个文件:
- `main.py`: 选择运行的功能模块
- `hllm/config.py`: 配置相关参数
之后运行
```bash
python main.py
```
就可以执行不同的任务.
## 注意事项
- 确保正确设置权重文件路径
- 运行仿真前请验证输入数据格式
- 生成的硬件描述文件会保存在指定目录下
- 目前的requirements.txt 有较大的冗余,后续会进行优化
\ No newline at end of file
build==1.2.2.post1
contourpy==1.3.1
cycler==0.12.1
filelock==3.16.1
fonttools==4.56.0
fsspec==2024.12.0
jinja2==3.1.5
kiwisolver==1.4.8
markupsafe==3.0.2
matplotlib==3.10.1
mpmath==1.3.0
networkx==3.4.2
numpy==2.2.1
nvidia-cublas-cu12==12.4.5.8
nvidia-cuda-cupti-cu12==12.4.127
nvidia-cuda-nvrtc-cu12==12.4.127
nvidia-cuda-runtime-cu12==12.4.127
nvidia-cudnn-cu12==9.1.0.70
nvidia-cufft-cu12==11.2.1.3
nvidia-curand-cu12==10.3.5.147
nvidia-cusolver-cu12==11.6.1.9
nvidia-cusparse-cu12==12.3.1.170
nvidia-nccl-cu12==2.21.5
nvidia-nvjitlink-cu12==12.4.127
nvidia-nvtx-cu12==12.4.127
packaging==24.2
pillow==11.1.0
pip==25.0.1
prettytable==3.15.1
pybind11==2.13.6
pyparsing==3.2.1
pyproject-hooks==1.2.0
pyrilog==0.1.0
python-dateutil==2.9.0.post0
safetensors==0.5.3
setuptools==76.0.0
six==1.17.0
sympy==1.13.1
torch==2.5.1
tqdm==4.67.1
triton==3.1.0
typing-extensions==4.12.2
wcwidth==0.2.13
wheel==0.45.1
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment