[ PROMPT_NODE_26644 ]
get-available-resources
[ SKILL_DOCUMENTATION ]
# 获取可用资源
## 概述
检测可用的计算资源并为科学计算任务生成战略建议。此工具会自动识别 CPU 能力、GPU 可用性(NVIDIA CUDA、AMD ROCm、Apple Silicon Metal)、内存限制和磁盘空间,以帮助做出明智的计算方案决策。
## 何时使用此工具
在执行任何计算密集型任务之前,请主动使用此工具:
- **数据分析前**:确定数据集是否可以加载到内存中,还是需要进行核外(out-of-core)处理
- **模型训练前**:检查 GPU 加速是否可用以及应使用哪个后端
- **并行处理前**:确定 joblib、multiprocessing 或 Dask 的最佳工作进程数
- **大文件操作前**:验证是否有足够的磁盘空间并选择合适的存储策略
- **项目初始化时**:了解基准能力,以便做出架构决策
**示例场景:**
- “帮我分析这个 50GB 的基因组数据集” → 先使用此工具确定是否需要 Dask/Zarr
- “在这个数据上训练神经网络” → 使用此工具检测可用的 GPU 和后端
- “并行处理 10,000 个文件” → 使用此工具确定最佳工作进程数
- “运行计算密集型模拟” → 使用此工具了解资源限制
## 此工具的工作原理
### 资源检测
该工具运行 `scripts/detect_resources.py` 来自动检测:
1. **CPU 信息**
- 物理和逻辑核心数
- 处理器架构和型号
- CPU 频率信息
2. **GPU 信息**
- NVIDIA GPU:通过 nvidia-smi 检测,报告显存、驱动版本、计算能力
- AMD GPU:通过 rocm-smi 检测
- Apple Silicon:检测支持 Metal 和统一内存的 M1/M2/M3/M4 芯片
3. **内存信息**
- 总内存和可用内存
- 当前内存使用百分比
- 交换空间(Swap)可用性
4. **磁盘空间信息**
- 工作目录的总磁盘空间和可用空间
- 当前使用百分比
5. **操作系统信息**
- 操作系统类型(macOS, Linux, Windows)
- 操作系统版本和发布号
- Python 版本
### 输出格式
该工具会在当前工作目录中生成一个 `.claude_resources.json` 文件,内容如下:
{
"timestamp": "2025-10-23T10:30:00",
"os": {
"system": "Darwin",
"release": "25.0.0",
"machine": "arm64"
},
"cpu":