典型的 dataloader/CPU 供料不足,不是 4070 本身慢。AMADEUS 如果暴露 workers/prefetch 参数,优先调它;没有就从系统层下手。
核数:E5-2673 v3 是 12 核 24 线程,你说的 8 核/4 核如果是逻辑线程,两个任务很可能落在同一批物理核的超线程兄弟上。用 taskset -c 0-7 和 taskset -c 8-11 绑到不相交的物理核,并设 OMP_NUM_THREADS=8 / 4,别让 OpenMP 把 24 线程全抢满。
DataLoader:GPU2 的 num_workers 从 4-6 起,prefetch_factor=2-4、persistent_workers=True、pin_memory=True;batch 太小会放大等数据的空档,能加就加。
数据路径:确认数据在 NVMe 不在机械盘;小文件多先打包成顺序大文件或放 tmpfs,视频/图片解码尽量提前做,别在 worker 里现场解。
量化:nvidia-smi dmon -s u 看 GPU2 锯齿周期,pidstat -t -p PID 1 看 worker 是否吃满 CPU,iostat -x 1 看盘是否打满。worker CPU 不高但 GPU 空转,多半是主进程串行预处理或锁竞争。
X99 平台:4 条 DDR3 要插满四通道(每通道一条),否则带宽腰斩;双卡确认是 x16/x8 不是 x4。
先做 1+2,锯齿通常会明显收窄。