直接回答:做皮层重建、fMRI 预处理这类脑影像分析,钱不该花在显卡上。 FreeSurfer 官方 System Requirements 页把这句话写得很直白——“不推荐专门为 FreeSurfer 购买 GPU 卡”,同时还有一句同样少见的话:“FreeSurfer 不是磁盘密集型,所以 SSD 没有收益。”
这两句官方原话,正好和实验室买机器时的两个惯性动作(默认配显卡、默认全上 NVMe)相冲突。
三句话记住:
- 不用显卡:官方已放弃继续开发 GPU 支持,改用 OpenMP 多核并行;
- 内存可以精确算:官方给出 每并发 1 个被试 = 1 核 + 4GB 内存(4 个被试 = 4 核 + 16GB);
- 存储按被试数 × 每被试 300–400MB 估,不用堆 SSD:真正该堆的是 CPU 核数。
一、官方 System Requirements 原文要点(逐条)
来源:FreeSurfer 官方 Wiki 的 SystemRequirements 页(本库已取到全文)。
| # | 官方原文要点 | 中文转述 | 采购含义 |
|---|---|---|---|
| 1 | “Intel processor supporting AVX instructions“ | CPU 必须支持 AVX 指令集 | 硬门槛,过老的平台直接不能用 |
| 2 | “at least 2 cores … each with a speed of 2GHz or faster is recommended” | 最低 2 核、2GHz+ | 这只是”能跑”,不是”跑得快” |
| 3 | “4GB per subject … four subjects at once → four cores and 16GB of memory” | 每并发被试 = 1 核 + 4GB | ★ 可直接据此算核数与内存 |
| 4 | “The flag … is -openmp 4 which tells recon-all to use four cores” |
多核要靠 -openmp N 显式打开 |
★ 不设这个参数,多核白买 |
| 5 | “8GB for recon, 16GB suggested for viewing graphics“ | recon 最低 8GB,看图建议 16GB | 单机自用的下限 |
| 6 | “purchasing a GPU card explicitly for freesurfer is not recommended, in lieu of purchasing multiple cores and using the OpenMP functionality” | ★ 官方原话:不推荐专门为它买显卡 | 最硬的”别配显卡”依据 |
| 7 | “We no longer support [further] CUDA or GPU development … in preference to using OpenMP” | 官方已停止 GPU 方向的开发 | 历史 -use-gpu 不该当采购理由 |
| 8 | “Freesurfer is not disk intensive, so SSD is not a benefit. Budget 400MB per subject“ | ★ 官方原话:SSD 没有收益 | 与”什么都上 NVMe”的惯性相反 |
| 9 | “installed image 16GB“;”processed subject 300MB“;”tutorial dataset 50GB“ | 安装 16GB;单被试 ~300MB;教程集 50GB | 容量可直接估 |
| 10 | “Intel vs AMD: no preference“;”CPU speed is not critical“ | 不限品牌,主频不关键 | 不必为高主频溢价 |
| 11 | “Ivy Bridge … or whatever is newer”,约 5% 提升 | 平台代次影响内存寻址,约 5% | 平台别选太老 |
| 12 | “NVidia graphics cards have been found to work best”、”3D graphics card with its own graphics memory” | 显卡只影响图形显示 | 只需一块能开 OpenGL 的普通卡 |
| 13 | “Matlab (only needed to run FS-FAST, the fMRI analysis stream)” | Matlab 只有 FS-FAST 流程需要 | ★ 避免多买 Matlab 授权 |
| 14 | “If you’re running Freesurfer on a server, then allocate 4GB of memory to your job“ | 服务器上每个作业 4GB | 调度/配额配置依据 |
一个提醒:官方给的是”每被试输出约 300MB“(另一处口径 400MB)。有些资料把它写成 “数 GB”,会让人把存储预算放大十倍——按被试数乘 300–400MB 再加余量即可;队列跑到上千被试时,量级也就是几百 GB 到 1TB+ 这个区间,另外教程数据集本身占 50GB 左右。
二、把”1 核 + 4GB” 变成配置单
官方这条配比的最大价值是:你可以按课题组打算同时跑几个被试,直接算出核数与内存。
| 同时跑几个被试 | CPU 核数(下限) | 内存(下限) | 说明 |
|---|---|---|---|
| 2 个 | 2 核 | 8GB | 单机自用刚开始 |
| 4 个 | 4 核 | 16GB | 官方原文举的例子 |
| 8 个 | 8 核 | 32GB | 小队列 |
| 16 个 | 16 核 | 64GB | 常见实验室队列节拍 |
| 32 个 | 32 核 | 128GB | 上百被试的队列研究 |
| 64 个 | 64 核 | 256GB | 需要调度 + 目录规范 |
注意这是”下限”,不是”推荐值”:机器上除了 recon-all,通常还同时跑 fMRIPrep、统计、文件拷贝等任务,实际配置一般会在官方配比上留 1.5–2 倍余量。另外单被试的 recon-all 耗时官方没给数值,这一项必须实测(不同 T1 质量差异很大)。
三、AVX 这条门槛,卡住了不少”捡便宜”的机型
官方第一条要求就是 CPU 必须支持 AVX。这件事对实验室的现实含义是:
- 老服务器(2011 年前的平台)跑不了,二手平台上便宜的老机器很容易踩这条;
- 采购时别只看”多少核”:核多但不支持 AVX 的机器,FreeSurfer 根本起不来;
- 这条要求和另一类专业软件(如部分单细胞流程、影像处理工具)是同一类门槛,配机时统一按”支持 AVX 及更新指令集”来选,避免以后换软件又要换机器。
四、存储不用堆 SSD,但要按”被试数 × 输出体积”规划
官方的两句原话要连起来看:
- “不是磁盘密集型,SSD 没有收益” → 不要为它买 NVMe 阵列;
- “每被试 300–400MB、安装 16GB、教程集 50GB” → 容量按被试数乘出来。
真正会撑爆硬盘的不是 FreeSurfer 本身,而是和它一起跑的预处理流水线(例如 fMRIPrep 的临时工作目录,官方实测单数据集可以到 121GB / 15.7 万个文件)。所以合理的做法是:
- 系统盘:普通 SSD 即可(装系统与软件,16GB 级别的软件体积压力很小);
- 数据盘:按”被试数 × 300–400MB” + 中间文件余量估容量,队列项目留 2–4 倍余量;
- 如果同时跑 fMRIPrep 之类的流水线,给 workdir 单独留一块大容量盘,并定好清理策略。
五、交付时最容易漏的几件事
| # | 要做的事 | 为什么 |
|---|---|---|
| 1 | 教用户设 -openmp N |
不设就是单核跑,多核机器等于浪费 |
| 2 | 确认 CPU 支持 AVX | 官方硬门槛,不满足根本起不来 |
| 3 | 不要为 FreeSurfer 单买显卡 | 官方明确不推荐 |
| 4 | 配好 作业调度与结果目录规范 | 队列几百人时,否则结果混杂、难复现 |
| 5 | 确认是否需要 Matlab | 只有 FS-FAST 流程需要,别多买授权 |
六、这类机器最后通常长什么样
- 不需要高端显卡:一块能正常开图形界面的普通卡就够(官方说 NVIDIA 兼容性最好);
- CPU 是主角:核数优先,兼顾平台代次(Ivy Bridge 及以上);
- 内存按并发被试数配,不是按单被试;
- 存储按被试数估容量,不必追求极致速度;
- 多人共用时,加一层调度(SLURM 等)比再加 16 核更有效。
常见问题
做脑影像分析到底要不要买显卡?
绝大多数情况不需要。FreeSurfer 官方明确写”不推荐专门为 FreeSurfer 购买 GPU 卡”,原因也很直接:官方已不再继续开发 CUDA/GPU 方向,转而用 OpenMP 多核并行;显卡在官方语境里只起”能开 OpenGL 图形界面”的作用(官方说 NVIDIA 兼容性最好)。同类软件也基本如此:fMRIPrep 官方基准机的配置是”20 核 + 64GiB + 无 GPU“。真正该投的是 CPU 核数与内存。
FreeSurfer 要多少内存?怎么算?
官方给了明确配比:每并发 1 个被试 = 1 核 + 4GB 内存(官方举例:想一次处理 4 个被试,机器需要 4 核 + 16GB)。另外 recon 本身最低 8GB,跑图形界面建议 16GB。所以算法是:先确定课题组希望同时跑几个被试,再乘 4GB。要注意这是下限——机器上通常还同时跑别的任务,实际配置建议留 1.5–2 倍余量;多用户共用时还要用调度把每个作业的内存限制住(官方给的是”每个作业分配 4GB”)。
要不要给脑影像服务器上 NVMe SSD?
FreeSurfer 官方原话是 “FreeSurfer 不是磁盘密集型,所以 SSD 没有收益”,每个被试按 300–400MB 规划存储即可。所以不必为 FreeSurfer 单独上 NVMe 阵列。但要注意一个例外:如果这台机器同时跑 fMRIPrep 之类的预处理流水线,它的临时工作目录会急剧膨胀(官方实测单数据集可达 121GB、15.7 万个文件),这种大量小文件的读写确实需要一块像样的盘和足够的容量——该留的是这类流水线的 workdir,而不是 FreeSurfer 的输出目录。
买了 32 核,为什么跑起来跟 8 核差不多?
多数情况是并行没开。FreeSurfer 官方给的开关是 recon-all -openmp N(官方例子 -openmp 4 表示用 4 核)——必须显式指定,不设就等于单核跑。同理,处理几百个被试时如果没有作业调度,任务只能一个一个顺序跑,核数再多也排不上。所以交付时该做的两件事是:把 -openmp N 写进批处理脚本、并给队列配一层调度(SLURM 等)——这两步不花钱,但直接决定这台机器值不值这个价。
单个被试要跑多久?
官方没有给数值,这一项必须实测:T1 数据质量、是否启用纵向分析、是否附带其他流程,都会明显影响耗时。实用做法是:先拿 3–5 个被试测出单被试耗时,再按”总被试数 ÷ 并发数”估算周期;如果周期不能接受,加核数比换显卡有效得多。
如果你们正在给课题组或实验室看机器,把 要跑的软件 / 模型、大概几个人用、预算范围 发我一句,我按这个给你一份带参数清单的配置思路——不推销最高配,只帮你把钱花在真正影响出结果的地方。
