PimPam/: 基线实现(Host + DPU)。PRISM/: 当前主线实现。demo/: UPMEM Hello World 最小示例。
- 在仓库根目录初始化 UPMEM 环境。
- 确保 DEMO 数据在
PimPam/data/graph-demo.bin。 - 执行
make -C PimPam的测试目标。
cd /home/<username>/Graph-Challenge-Workspace
source upmem-2025.1.0-Linux-x86_64/upmem_env.sh
mkdir -p PimPam/data
cp -n data/graph-demo.bin PimPam/data/graph-demo.bin
GRAPH=DEMO PATTERN=CLIQUE3 NR_DPUS=1 NR_TASKLETS=1 make -C PimPam test_single常用完整运行(非快速自检):
GRAPH=DEMO PATTERN=CLIQUE3 NR_DPUS=4 NR_TASKLETS=16 make -C PimPam test成功标志:输出包含 DPU ans: ... 且最后为 All fine。
- 图和数据路径由宏控制:
PimPam/include/common.h中DATA_DIR+DATA_NAME组成DATA_PATH,GRAPH=DEMO对应./data/graph-demo.bin。 PimPam/makefile会把GRAPH/PATTERN/NR_DPUS/NR_TASKLETS注入编译宏,命令行传参会覆盖默认值。- 无物理 DPU 时会自动回退 simulator,出现 fallback 警告是正常现象;若出现
dpu allocation error,通常是NR_DPUS设置过大。 test_single目标内部固定NR_DPUS=1 NR_TASKLETS=1,用于最小化自检,优先用于验证环境是否可用。- 输入文件格式必须是二进制 CSR(
n, m, row_ptr[n], col_idx[m]),读取逻辑在PimPam/host/partition.c::read_input。