File size: 5,225 Bytes
35b365b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | # NeuroScan AI 性能基准测试
## 🔬 性能基准测试报告
> 测试时间: 2026-01-28 17:16:29
### 测试环境
| 组件 | 配置 |
|------|------|
| **CPU** | Intel(R) Xeon(R) Platinum 8350C CPU @ 2.60GHz |
| **CPU核心** | 64 物理核 / 128 逻辑核 |
| **内存** | 2014 GB |
| **GPU** | NVIDIA A800-SXM4-80GB |
| **GPU显存** | 80 GB |
| **Python** | 3.11.11 |
| **PyTorch** | 2.8.0+cu129 |
| **CUDA** | 12.9 |
| **MONAI** | 1.5.2 |
| **SimpleITK** | 2.4.1 |
### 测试数据
| 属性 | 值 |
|------|------|
| **数据集** | Learn2Reg Lung CT |
| **样本数量** | 20 对 (吸气/呼气配对) |
| **输入尺寸** | 192 × 192 × 208 体素 |
| **体素间距** | 1.0 × 1.0 × 1.0 mm |
| **数据类型** | float32 |
| **单卷大小** | 58.5 MB |
| **单卷体素数** | 7,667,712 |
---
## CPU 并发基准测试
### 测试任务: 配准 + 变化检测流程
1. **数据加载**: NIfTI 格式加载
2. **刚性配准**: 6DOF 仿射变换 (SimpleITK)
3. **非刚性配准**: B-spline 形变场 (SimpleITK)
4. **变化检测**: 体素级差异计算
### 测试结果
| 并发数 | 总耗时 | 吞吐量 | CPU峰值 | CPU均值 | 内存峰值 | 内存增量 | 并行效率 |
|--------|--------|--------|---------|---------|----------|----------|----------|
| 1 | 7.38s | 8.1/min | 10.3% | 1.9% | 39.1 GB | +1.0 GB | 100% |
| 2 | 7.68s | 15.6/min | 38.8% | 5.4% | 40.0 GB | +2.0 GB | 192% |
| 3 | 8.44s | 21.3/min | 39.2% | 7.4% | 40.8 GB | +3.0 GB | 262% |
| 4 | 9.07s | 26.5/min | 42.6% | 9.5% | 41.8 GB | +4.0 GB | 325% |
| 5 | 9.60s | 31.2/min | 42.0% | 11.3% | 42.5 GB | +5.0 GB | 384% |
### 单任务耗时分解
| 阶段 | 耗时 | 占比 | 说明 |
|------|------|------|------|
| 数据加载 | 0.08s | 1% | NIfTI 读取 + 预处理 |
| 刚性配准 | 1.10s | 15% | 6DOF 仿射变换优化 |
| 非刚性配准 | 6.20s | 84% | B-spline 形变场优化 |
| 变化检测 | 0.02s | <1% | NumPy 差异计算 |
| **总计** | **7.40s** | **100%** | - |
### CPU 利用率分析
```
并发数: 1 ▓░░░░░░░░░░░░░░░░░░░ 10.3%
并发数: 2 ▓▓▓▓▓▓▓░░░░░░░░░░░░░ 38.8%
并发数: 3 ▓▓▓▓▓▓▓░░░░░░░░░░░░░ 39.2%
并发数: 4 ▓▓▓▓▓▓▓▓░░░░░░░░░░░░ 42.6%
并发数: 5 ▓▓▓▓▓▓▓▓░░░░░░░░░░░░ 42.0%
```
> 📊 **结论**: CPU 利用率在 5 并发时仅达到 42%,说明还有很大的并发扩展空间。
---
## GPU 并发基准测试
### 测试任务: MONAI 器官分割
- **模型**: TotalSegmentator (104 类器官)
- **推理方式**: Sliding Window (滑动窗口)
- **窗口大小**: 96 × 96 × 96
- **重叠率**: 50%
### 测试结果
| 并发数 | 总耗时 | GPU显存峰值 | GPU利用率峰值 | CPU峰值 | 内存峰值 |
|--------|--------|-------------|---------------|---------|----------|
| 1 | 8.19s | **9.0 GB** | 100% | 37.5% | 42.1 GB |
| 2 | 8.50s | **15.0 GB** | 100% | 5.8% | 43.2 GB |
### 单任务耗时分解
| 阶段 | 耗时 | 占比 | 说明 |
|------|------|------|------|
| 数据加载 | 0.11s | 1% | NIfTI → Tensor |
| 模型推理 | 8.08s | 99% | Sliding Window |
| **总计** | **8.19s** | **100%** | - |
| **GPU显存** | **7.32 GB** | - | PyTorch allocated |
| **GPU显存 (系统)** | **9.0 GB** | - | nvidia-smi 报告 |
### GPU 显存分析
```
单任务: ▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░ 9.0 GB / 80 GB (11%)
双任务: ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░ 15.0 GB / 80 GB (19%)
```
> 📊 **结论**: 单任务分割需要约 **9 GB** GPU显存,双任务需要约 **15 GB**。RTX 3060 (12GB) 可运行单任务,RTX 4090 (24GB) 可运行 2 并发。
---
## 资源需求总结
### 最小配置估算
基于测试数据,各场景的最小资源需求:
| 场景 | CPU | 内存 | GPU显存 | 备注 |
|------|-----|------|---------|------|
| 仅配准 (单任务) | 2 核 | 2 GB | 无需 | CPU密集型 |
| 仅配准 (5并发) | 8 核 | 6 GB | 无需 | 线性扩展 |
| 分割 (单任务) | 4 核 | 4 GB | **9 GB** | GPU密集型 |
| 分割 (双任务) | 4 核 | 6 GB | **15 GB** | 显存瓶颈 |
| 完整流程 | 8 核 | 8 GB | **12 GB** | 配准+分割+LLM |
### 推荐配置方案
| 部署场景 | CPU | 内存 | GPU | 预估并发能力 | 参考月费 |
|----------|-----|------|-----|--------------|----------|
| **最低配置** | 4核 | 8 GB | 无 | 1 任务 (仅配准) | ~¥100 |
| **推荐配置** | 8核 | 16 GB | RTX 3060 12GB | 2-3 任务 | ~¥800 |
| **专业配置** | 16核 | 32 GB | RTX 4090 24GB | 5+ 任务 | ~¥2000 |
| **服务器配置** | 32核+ | 64 GB+ | A100 40GB+ | 10+ 任务 | ~¥8000 |
---
## 运行基准测试
```bash
# 运行完整基准测试
python scripts/benchmark.py
# 运行快速压力测试
python scripts/stress_test.py
```
---
## 附录: 测试脚本
- `scripts/benchmark.py` - 完整基准测试,生成详细报告
- `scripts/stress_test.py` - 快速压力测试,显示资源峰值
---
*报告生成时间: 2026-01-28 17:16:29*
|