开发工作流

环境准备

CPU 构建

cd QRAM-Simulator
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)

GPU 构建(需要 CUDA 12+)

cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_CUDA=ON
make -j$(nproc)

Python 绑定

pip install .

核心代码结构

添加新实验

  1. 创建实验目录结构:

    Experiments/
    └── MyAlgorithm/
        ├── MyAlgorithmTest.cpp
        └── CMakeLists.txt
    
  2. 编写 CMakeLists.txt

    add_executable(MyAlgorithmTest MyAlgorithmTest.cpp)
    target_link_libraries(MyAlgorithmTest PRIVATE SparQ SparQ_Algorithm Common)
    
  3. Experiments/CMakeLists.txt 中注册:

    add_subdirectory(MyAlgorithm)
    

Git 工作流

创建分支并开发:

# 创建功能分支
git checkout -b feat/my-algorithm origin/main

# 开发、测试...

# 推送到 fork
git push origin feat/my-algorithm

CI 验证后提交 PR 到 upstream。

运行测试

# 运行所有测试
cd build && ctest --output-on-failure

# 运行特定测试
./build/bin/MyAlgorithmTest