# spmm_sparse_tree **Repository Path**: wangyaoyuu/spmm_sparse_tree ## Basic Information - **Project Name**: spmm_sparse_tree - **Description**: 1. rl for sparse program (include gpu and cpu) 2. currently, just testing - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-21 - **Last Updated**: 2026-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Project overview ### 文件夹描述 - rl_src: for rl - sparse_src: for gpu - spmv-forge: for cpu - v1: origin version of DeepSparse (also called RLSparse) -- very complicated ### 运行例子 #### sparse_gpu (generalsparse) - ---------------学习运行------------------ - cd sparse_src - make rl_select -j16 - cd .. - python -m rl_src.main -t sparse_gpu -p train -m transformer -r mcts - ----------尝试运行完-------------会有一部分存储数据,记得删除 - cd sparse_src/data_source/ - rm -rf * - ----------- mark already merge--------------- ## 环境设定 ### 环境 for gpu (A100/V100/...) - conda create -n spenv python=3.9.16 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple ### 环境 for arm (huawei) - conda create -n gensp python=3.9.16 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - pip install scikit-learn==1.4.1.post1 h5py==3.8.0 einops==0.7.0 tqdm==4.66.2 transformers==4.20.1 -i https://pypi.tuna.tsinghua.edu.cn/simple - pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cpu ## 轻量化接入其他系统 ### Search space (搜索空间设定) #### **command** (根据**selection.json**的可执行文件) 假设程序运行的指令为 `OMP_NUM_THREADS=1 OMP_PROC_BIND=close OMP_PLACES=cores ./local/bin/kernel_run -f ./sparse_mm_file/ACTIVSg2000.mtx -format SCS -backend ImplFunc -isa Sve -variant SveV2C2 -logdir ./log` - 环境设定`OMP_NUM_THREADS=1 OMP_PROC_BIND=close OMP_PLACES=cores` - 程序运行`./local/bin/kernel_run` - 输入的矩阵`-f ./sparse_mm_file/ACTIVSg2000.mtx` - 各种搜索参数 (与**selection.json**文件对应) - `-format SCS` - `-backend ImplFunc` - `-isa Sve` - `-variant SveV2C2` - 输出的性能数据所在的目录 - `-logdir ./log` #### 与**command**对应的**selection.json**构成 - 以json形式存在 (详细见cpu样例) #### valid_path.json [TODO] - 合法的路径搜索 - 详细见样例 #### unvalid_path.json [TODO] - 剪枝掉的路径搜索 - 暂无样例 #### 输出的性能数据所在的目录(假定为log文件夹) - log文件夹下有运行程序得到的性能记录 - 命名规则:log文件名要与**selection.json**和**command**中的设定保持一致,从而能够从文件名中反映出搜索路径,定位到性能数据 - 样例`ACTIVSg2000_SCS_ImplFunc_Sve_SveV2C2_1.log`,log内有表示性能的数字 - [TODO] need to change for generalsparse for rules