
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Weather Research and Forecasting Model (WRF) 是一款用于大气建模和业务预报的数值天气预报模型。由于其构建过程涉及一系列依赖项,通常较为复杂。本Docker镜像intel/intel-optimized-wrf:latest旨在简化WRF的部署和运行流程,推荐在第4代Intel® Xeon®可扩展处理器上使用以获得最佳性能。
1. 检查硬件配置
运行镜像前需确定主机物理CPU数量,可通过以下命令查看:
bashlscpu
2. 运行Docker镜像
根据CPU数量指定容器可使用的CPU核心范围,基本命令格式如下:
bashdocker run --cpuset-cpus <num>-<num> -it --name wrf-hpckit -v <path_to_run_file>/run.sh:/home/run.sh -v <local_directory_to_get_logfiles>:/log wrf-hpckit:latest
参数说明:
--cpuset-cpus <num>-<num>:限制容器使用的CPU核心范围,如0-3表示使用第1至第4个CPU核心(从0开始编号),或1,3表示使用第2和第4个CPU核心-v <path_to_run_file>/run.sh:/home/run.sh:挂载本地run.sh脚本到容器内-v <local_directory_to_get_logfiles>:/log:挂载本地目录用于存储WRF生成的日志文件3. 创建run.sh脚本
需创建run.sh脚本以下载WRF基准测试数据并配置运行参数。以下示例基于8 CPU的第4代Intel® Xeon®可扩展处理器:
bash#!/bin/bash # 下载CONUS-12km基准测试数据 wget -c https://www2.mmm.ucar.edu/wrf/users/benchmark/v44/v4.4_bench_conus12km.tar.gz tar -zxf v4.4_bench_conus12km.tar.gz # 链接测试文件到WRF运行目录 ln -sf /v4.4_bench_conus12km/* /WRF/run ln -sf /v4.4_bench_conus12km/wrfbdy_d* /WRF/run ln -sf /v4.4_bench_conus12km/wrfinput_d* /WRF/run ln -sf /v4.4_bench_conus12km/*.dat /WRF/run ln -sf /v4.4_bench_conus12km/namelist.input.restart /WRF/run/namelist.input ln -sf /v4.4_bench_conus12km/wrfrst_d01_2019-11-26_23:00:00.ifort /WRF/run/wrfrst_d01_2019-11-26_23:00:00 # 配置并行计算参数 export PROCESS_PER_NODE=4 export OMP_NUM_THREADS=2 export I_MPI_PIN_DOMAIN=auto export I_MPI_PIN_ORDER=bunch export OMP_PROC_BIND=close export OMP_PLACES=threads export KMP_BLOCKTIME=10 export KMP_STACKSIZE=128M export WRF_NUM_TILES=48 # 设置系统资源限制 ulimit -S -s unlimited ulimit -S -m unlimited ulimit -S -d unlimited # 运行WRF cd /WRF/run mpiexec.hydra -genvall -n $PROCESS_PER_NODE -ppn $PROCESS_PER_NODE ./wrf.exe
注意:可通过修改下载链接更换基准测试数据集,其他WRF测试案例可参考:https://www2.mmm.ucar.edu/wrf/users/benchmark/v44/benchdata_v44.html
4. 关键变量配置说明
run.sh脚本中的环境变量需根据硬件配置调整,核心原则:PROCESS_PER_NODE * OMP_NUM_THREADS 应等于物理CPU数量。主要变量说明:
| 变量 | 说明 |
|---|---|
| PROCESS_PER_NODE | 每节点MPI进程数,应与硬件核心数对应 |
| OMP_NUM_THREADS | 每个进程的OpenMP线程数,设置并行区域的初始线程数 |
| I_MPI_PIN_DOMAIN | 控制进程线程在节点内的绑定范围 |
| I_MPI_PIN_ORDER | 定义MPI进程到域的映射顺序 |
| OMP_PROC_BIND | 控制线程亲和性策略,决定线程是否可在不同位置间移动 |
| OMP_PLACES | 指定OpenMP程序执行时可用的位置列表 |
| KMP_BLOCKTIME | 线程完成并行区域后等待睡眠的时间(毫秒) |
| KMP_STACKSIZE | 为每个并行线程分配的私有栈大小(支持b/k/m/g/t为单位) |
| WRF_NUM_TILES | 网格分块数量,最优值取决于模型特性和硬件 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务